文档章节

2013年工作中遇到的20个问题:41-60

FansUnion
 FansUnion
发布于 2015/05/03 01:29
字数 1326
阅读 7
收藏 0


41.API的稳定性

public static List<Integer> getStatusCode(String role);
被多个方法调用。

其中一个方法是 xxxFunction(){
getStatusCode(“role”);

现在需要给getStatusCode增加一个参数,aa;
参数的值aa从session中取得,
aa= ActionContextUtils.getFromSession("aa");

现在遇到一个问题,如果给getStatusCode增加一个参数,所有调用getStatusCode的方法都需要获得aa的值,传入参数。

最终方案是:在getStatusCode方法内部,使用静态方法ActionContextUtils.getFromSession("aa")获得aa的值,所有接口都不需要改变。

42.函数单入口单出口的选择。

//单入口单出口
public List getList(boolean flag){
  List list =null;
  try{
     list = ...
  }catch(){
    
  }
  return list;
}

//单入口多出口--防止函数if语句嵌套过深
public List getList(User user){
 
  if(user == null){
    return null;
  }
 
  if(user.getName() == null){
    return null;
  }
 
  list = ..;
 
  return list;


43. ActionContext.getContext() 为null。
没有经过Struts2的Controller,接口响应直接被FlexController拦截了。

44. null对象可以强制转换为任意对象。
认为此不合理的原因是:经常发生NullPointerException.

String str = (String)null;√
str.charAt(0); ×

 

45.远程调试代码进不去。

代码不一致导致。

 

46.Tomcat下同一个工程启动了2次。
除了ROOT文件夹,还有个 到ROOT的连接。(Linux系统)

 

47.1台电脑不能访问另外一台电脑了。
IP自动分配的,IP到期之后,重新分配了另外一个IP。

 

48.Apache POI导出Excel时报错。
java.lang.AbstractMethodError: org.apache.poi.xssf.usermodel.XSSFRow.setRowS

poi-ooxml-3.7.jar
poi-ooxml-3.8-20120326.jar

2个jar包重复了,使用了第1个包。

 

49.Maven项目发布项目到Tomcat,项目的jar包没有发布到WEB/INF目录下。

 项目属性--Deployment Assembly-Add,添加Java Build Path Entries,
 选择一个合适的。

50.32位与64位的选择。
   JDK,Eclipse要么都使用64位的,要么都使用32位的。
  
   Tomcat可以用32位或64位。

 51. SVN由1.6升级到1.8之后,不能更新和提交了。
 
 项目--右键--Team--Upgrade。
  
 52.主机名和IP映射。
   通过修改hosts文件实现。
   hosts文件的具体位置,C:\Windows\System32\drivers\etc\hosts
   127.0.0.1       fansunion.cn
  
   重新打开浏览器即可,此时访问fansunion.cn仍然是访问本机IP,但此时host就是fansunion.cn了。
  
 53.域名跳转
   项目要修改URL的目录,原来的请求要跳转到新的目录下。
 public class UrlForwardFilter implements Filter {
    public void doFilter(ServletRequest req, ServletResponse resp,
            FilterChain filterChain) throws IOException, ServletException {      
        String uri = request.getRequestURL().toString();     
        if (uri.contains('aa')) {
            writer
                    .print("<script type='text/javascript'>window.location.href='aa';</script>");
            return;
        } else if (uri.contains('bb') {
            writer
                    .print("<script type='text/javascript'>window.location.href='bb';</script>");
            return;
        }
        filterChain.doFilter(req, response);
    }
}
 
   为了测试URL路径跳转是否成功,需要修改hosts文件,来模拟产生域名。
 
 54.Eclipse生成JavaDoc文档,防止产生乱码。
 在Eclipse里 点击工程右键 Export-->Export-->java--》 JavaDoc,在向导的最后一页的Extra JavaDoc Options 里,
 填上参数即可。比如项目采用的是UTF-8的编码就填:-encoding UTF-8 -charset UTF-8。

 
 55.Eclipse项目的2个常见文件。
   在Eclipse项目的根目录下,通常都有.classpath和.project2个文件。
   这2个文件实际上都是文本文件,可以使用记事本类软件打开,通过阅读配置可以了解更多的信息,
   知道Eclipse项目是怎么组织和运作的。
 
 <?xml version="1.0" encoding="UTF-8"?>
<classpath>
 <classpathentry kind="src" path="src"/>
 <classpathentry kind="src" path="test"/>
</classpath>

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
 <name>FansUnion</name>
 <comment></comment>
</projectDescription> 

 56.Spring @ResponseBody 返回乱码。
 //1个同事和1个网友都遇到了这个问题
 @ResponseBody 
public String getForm(String pid) { 
    return "你好"; 

spring MVC有一系列HttpMessageConverter去处理用@ResponseBody注解的返回值,如返回list则使用MappingJacksonHttpMessageConverter,
返回string,则使用StringHttpMessageConverter,这个convert使用的是字符集是iso-8859-1,而且是final的。

1.你自己重写一个StringHttpMessageConverter,使用你想要的字符集,并且使这个属性可注入
(参考http://blog.csdn.net/jpr1990/article/details/7710110
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
        <property name="messageConverters"> 
            <util:list> 
                <bean class="com.pcds.ecomm.website.syscustomization.ConfigurableStringHttpMessageConverter"> 
                    <constructor-arg value="UTF-8"/> 
                </bean> 
                <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> 
            </util:list> 
        </property> 
    </bean> 
2.使用Response.getOutputStream()手动发送字符串。
需要首先设置编码,以防止乱码。

 57.Java邮件发送。
 
 几种实现方式:
 
 1.Spring Mail。
 
 2.ApacheCommonsMail。
 
 3.Jodd Mail。
 
 4.Java Mail。
 
 58.代码仓库。
 把大学和工作写的代码,进行了整理。经常备份,然后上传到网盘备份。还是有点麻烦。
 现在,使用SVNChina的付费服务,99元/1G空间/1年。
 
 59.Maven等工具的优缺点问题。
 工作中使用了Maven,带来了方便。
 好处:自动下载jar包,部署方便。
 坏处:对网络的依赖大,需要学习新工具的使用,不同项目共用同一个Maven本地仓库,
 一旦删除Maven仓库,所有项目都受到影响。
 
 引入新工具解决问题的同时,工具本身也带来了诸多问题,这是一个值得深思的问题。
 
 60.Java开源代码。
 Spring,Struts,Hibernate,OpenJDK,Jodd,Mybatis等很多Java开源项目,都进行了 浏览/研究/学习,
 感觉还是挺有学习和研究价值的。这些项目的代码中有很多注释和文档,便于研究。
 同时,我也发现,这些Java项目有很多思想和方法还是比较类似的。
 学习时间越长,对思想和方法的研究就越来越重要。

相关阅读

工作问题 http://blog.csdn.net/FansUnion/article/category/1334371


 
 

© 著作权归作者所有

FansUnion
粉丝 60
博文 858
码字总数 825464
作品 0
丰台
高级程序员
私信 提问
C#构造函数的重载的几种方式

今天工作中遇到了点小麻烦,关于构造函数重载的问题,以前方法重载的时候直接使用相同的函数名传入不同的参数即可。如下面代码: 1 public class UserData 2 { 3 4 5 public bool UpdateUser...

长平狐
2012/09/06
111
0
Tomcat7.0.63上面配置ssl 报Received fatal alert: handshake_failure

最近把单点登录(cas)的tomcat从7.0.22升级到7.0.63日志包下面的异常信息。ssl证书是自己用keytool生成的。 环境: jdk版本:jdk1.6.0_29 tomcat:7.0.63 javax.net.ssl.SSLHandshakeExceptio...

YU_Z_W
2015/08/20
8.8K
1
【算法】算法的应用(二)

多项式的表示和计算    设计一种用单链表存储多项式的结构,每个结点存储一项的系数和指数(类型都是int),并编写一个产生多项式链表的函数和一个实现两个多项式相加的函数。   实例解...

wbf961127
2017/11/08
0
0
编译ipvsadm-1.26 错误:collect2: ld returned 1 exit status

编译: ipvsadm-1.26 编译错误问题 解决办法: yum -y install kernel-headers popt-static 本文转自 swq499809608 51CTO博客,原文链接:http://blog.51cto.com/swq499809608/1554594...

科技小能手
2017/11/12
0
0
Linux—图解PXE实现全自动安装系统

1、安装背景: 在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机没有光驱,或者是有大批量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于...

a1040668467
2014/04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Command模式

https://www.cnblogs.com/devinzhang/archive/2012/01/06/2315235.html

南桥北木
43分钟前
1
0
由于PostgreSQL9.x二进制输出格式默认值改变导致的读取图片错误

今天从社区邮件看到一个这样的问题,感觉很有意思,在这分享给大家~具体如下: 问题现象: 作者有一个很老的Java应用,当时后端采用的PostgreSQL数据库版本为8.x,该系统除了正常的数据增删...

闻术苑
59分钟前
2
0
导入sql时出现Invalid default value for 'create_time'报错处理方法

当运行SQL会出现:[Err] 1067 - Invalid default value for 'create_time',是因为Mysql版本不同,如果版本不 < 5.6请去的话报错的处理方法如下: 方法 :alter table table_name modify cre......

writeademo
今天
1
0
对ssm(spring,springmvc,mybatis)的了解总结

ssm框架现在是java web开发的三个主流框架 ,其实严格来算只算是两个框架,因为springmvc属于spring框架 ,是spring的一个mvc子框架 那么我们下面就来了解一下三大框架把 一 .Spring spring...

咸鱼-李y
今天
2
0
聊聊Elasticsearch的FsProbe

序 本文主要研究一下Elasticsearch的FsProbe FsProbe elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/fs/FsProbe.java public class FsProbe { private static f......

go4it
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部