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; /...阅读全文
Dec302011
用Eclipse开发Perl
Perl跟Python一样,做些小东西还是不错的。但Perl一般Windows下用得少,小程序的话,一般人也不想用Eclipse,国外就有程序员不喜欢用EPIC(Perl Editor and IDE for Eclipse),毕竟把vim和emacs用熟了的都是高手了,呵呵,咱不是。
配置Eclipse和Perl其实也不难。安装好Perl,再安装Perl的用于调试的组件padwalker;安装Eclipse,安装EPIC就行了。
安装Perl,Windows下一般用Acti...阅读全文
Dec302011
用Eclipse开发Python
看别人用Python用得那个很爽,我也想学学,因为Python可以直接运行,用来写一些小程序感觉还是很不错的,呵。
Eclipse的Python安装还是很简单的,先安装Python,然后再安装Eclipse,再把PyDev加进去就行。
安装Python,现在Python有两个版本Python2和Python3,因为Python3不向下兼容,所以Python3现在还没有像Python2那么流行(都发布两年了),不过我觉得以后的趋势是要么Python...阅读全文
Dec252011
Eclipse下printf和scanf的运行顺序问题
在写一个C语言时,运行时发现scanf比printf先执行了,在网上找了一下资料,原来是输出缓冲区的问题。解决方法有两个,第一,设置缓冲区为空,即没有缓冲区;第二,每执行printf之后,强制缓冲区。具体方法如下:
在printf之前添加:setvbuf(stdout,NULL,_IONBF,0);设置缓冲区为空。
在每句printf之后添加:fflush(stdout);
测试代码如下:
方法一:
1234567891011
#include&nbs...阅读全文
Dec252011
配置Eclipse和C开发
下载带CDT的Eclipse或多合一的Eclipse,安装编译器mingw,配置好就行了。
下载CDT的Eclipse,下载地址:http://www.eclipse.org/downloads/,或者下载多合一的版本,之前我写了一篇多合一Eclipse:http://yutuo.net/archives/4ae1ddbd10f0fe24.html。下载之后解压。
下载mingw,下载地址:http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/。在画面上面的有最新...阅读全文