分类 java 下的文章

使用static SimpleDateFormat引发的同步问题

测试一个接口,发送的报文仅id不同,其他的值都是相同的,但是接口返回的是“日期格式错误”。经核实,接口中校验日期格式的方法用的是SimpleDateFormat的parse()方法。
查看jdk api:

日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。

下面为事件还原代码:

- 阅读剩余部分 -

tomcat启动报错This file is needed to run this program

背景:服务器是别人的,估计是用过安装版的tomcat,后来把目录删除了。
我把压缩版的tomcat放到服务器上,启动时./startup.sh ,报错

Cannot find /usr/tomcat/apache-tomcat-9.0.0.M3/bin/setclasspath.sh
This file is needed to run this program

找了一下,这个报错信息是catalina.sh中164行的报错,试着打印了$CATALINA_HOME,果然是/usr/tomcat/apache-tomcat-9.0.0.M3,这个估计是就是原来安装版的tomcat目录。

- 阅读剩余部分 -

java操作cookie

同一域名下的子域名的cookie可以互相访问。
在设置cookie的时候,有以下几个方法:
setDomain() 设置cookie的有效domain范围,可以指定当前的domain,也可以指定domain的父级domain(当前domain为二级域名的时候,可以指定有效范围有一级domain)
setPath() 设置cookie的有效路径范围,可以指定根路径(/),说明所有的path都有效;或者指定某一个path(/test),则/test及下级路径都有效
setMaxAge() 设置cookie的最大值,未验证。

- 阅读剩余部分 -

sendRedirect和forward的区别

sendRedirect是重定向,会返回给浏览器一个head,浏览器会向新的url发起一个请求。原来的request被销毁,产生一个新的request。可以转发到任意的url。浏览器地址栏会变。
forward的时候会将request和response作为参数,使用原来的request和response,发生在服务器的内部,将另外url产生的response发给浏览器,浏览器完全不知情。只能重定向到当前WEB应用中的url。浏览器地址栏不变

PS:关于forward时使用的rul,相对路径和绝对路径如何使用?

参考:
http://blog.csdn.net/honglei_zh/article/details/7204946
http://javacrazyer.iteye.com/blog/769889