Jan222012
Servlet的线程安全
在一般情况下,Servlet容器只创建一个实例,如果有多个客户请求同时访问这个Servlet,会采用多线程来访问这一个Servlet。在这种情况下,就会有线程安全问题。
比如,定义一个Servlet的类变量user,然后在doPost或者doGet里处理的话,当线程转换时就会出现很怪的情况。如下代码:
123456789101112131415161718192021222324
import java.io.IOException;import java.io.PrintWri...阅读全文
抢沙发
Jan172012
PHP使用DateTime来转换字符串
在PHP5.3以前,只能使用strtotime来把字符转为时间,然后再用date()把时间格式化为自己想要的格式。这种情况下,如果一些特殊的时间字符串就无法直接处理了,必须自己写代码进行转换了。
在PHP5.3里,新加了一个DateTime类,它可以通过自己定义的格式来读取字符串,然后格式化输出。具体可以参考PHP的官方网站的介绍。
DateTime::createFromFormat http://www.php.net/manual/en/da...阅读全文
Jan152012
Servlet的异常处理
在之前,我一般用Try…Catch…来处理Servlet的异常。最近在看孙鑫老师写的《Java Web开发详解——XML XSLT Servlet JSP深入剖析实例应用》,发现还可以通过web.xml来配置Servlet的异常处理。觉得这个方法还是最好的。
主要是通过配置WEB-INF下web.xml的error-page来达到我们的异常处理。error-page下有三个标签error-code,exception-type,location。其中location是必需的,用于指定异...阅读全文
Jan152012
用ResourceBundle来读取配置文件
之前不知道Java还有ResourceBundle这个类,最近一个项目,别人用了ResourceBundle来读取配置文件,还真的很方便。它可以读取相对Class目录的任何配置文件。测试代码如下:
我在包net.yutuo.java下建了一个test.properties的配置文件,内容如下:
1
test=testValue
测试用的Java文件如下:
1234567891011121314151617181920212223242526272829303132
import java.util.Mis...阅读全文
Jan152012
Jan142012
批处理文件取得YYYYMMDD格式日期
有时候做数据备份时总会用到日期,比如把每天的代码打包成ZIP文件,就要用到日期。但用%date%取到的日期是带/的。
在网上查了一下资料,发现用:*=*的语法可以替换字符串。那么取得YYYYMMDD日期格式就可以写成%date:/=%。如下代码:
12
rem 新建一个日期的目录mkdir %DATE:/=%
阅读全文
Jan132012
web.xml各个版本模板
J2EE 2.3
123456
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> </web-app>
J2EE 2.4
123456
<?xml version="1.0" encoding...阅读全文
Jan112012
通过反射动态调用类的属性和方法
在实际应用中,反射还是很有用的。不过反射不能访问任何公共以外的东西。也就是说反射只能访问public定义的方法和属性。
如下两个类,测试类TestMethod:
12345678910111213141516171819202122232425262728293031323334
public class TestMethod { private int a; private int b; /...阅读全文
Dec242011
通过prototype为String对象添加方法
感觉JavaScript的字符串方法比较少,特别是用Java或C#习惯之后。在网上找了一下,发现通过prototype可以扩展字符串的方法。比如如下JavaScript代码:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
/** * 去掉字符串两端的空白字符 */String.prototype.trim = function() { &...阅读全文
Dec242011
HTML控件FILE值的清除
在写程序时有时会碰到清除FILE内容的问题,在网上查了一下资料,发现IE和Chrome能实现。而FireFox有点难度,所以就不说FireFox的了。
方法一,只有IE能用
123
<input type="file" name="f2" id="f2"><input type="button" value="clear" onclick="f2.select();document.execCommand('delete'...阅读全文