`
FansUnion
  • 浏览: 153170 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 
阅读更多


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



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics