Servlet的线程安全

      在一般情况下,Servlet容器只创建一个实例,如果有多个客户请求同时访问这个Servlet,会采用多线程来访问这一个Servlet。在这种情况下,就会有线程安全问题。   比如,定义一个Servlet的类变量user,然后在doPost或者doGet里处理的话,当线程转换时就会出现很怪的情况。如下代码: 123456789101112131415161718192021222324 import java.io.IOException;import java.io.PrintWri...阅读全文
    作者:yutuo | 分类:Java | 阅读:25 views | 标签:,

    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是必需的,用于指定异...阅读全文
    作者:yutuo | 分类:Java | 阅读:29 views | 标签:,

    用ResourceBundle来读取配置文件

      之前不知道Java还有ResourceBundle这个类,最近一个项目,别人用了ResourceBundle来读取配置文件,还真的很方便。它可以读取相对Class目录的任何配置文件。测试代码如下: 我在包net.yutuo.java下建了一个test.properties的配置文件,内容如下: 1 test=testValue 测试用的Java文件如下: 1234567891011121314151617181920212223242526272829303132 import java.util.Mis...阅读全文
    作者:yutuo | 分类:Java | 阅读:31 views | 标签:,

    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...阅读全文
    作者:yutuo | 分类:Java | 阅读:21 views | 标签:

    通过反射动态调用类的属性和方法

      在实际应用中,反射还是很有用的。不过反射不能访问任何公共以外的东西。也就是说反射只能访问public定义的方法和属性。   如下两个类,测试类TestMethod: 12345678910111213141516171819202122232425262728293031323334 public class TestMethod {     private int a;     private int b;     /...阅读全文
    作者:yutuo | 分类:Java | 阅读:20 views | 标签:

    Servlet获取URL地址

      最近在做一个系统,是在原有系统上改修的,有单独的服务器,所以不需要用数据库。而且有现成的HTML,所以基本上用一个Servlet就可以实现。根据请求的URL再调对应的Server函数,再把取到的值替换到HTML就行。   这里来说说用Servlet获取URL地址。在HttpServletRequest类里,有以下六个取URL的函数: getContextPath 取得项目名  getServletPath 取得Servlet名 getPathInfo 取得S...阅读全文
    作者:yutuo | 分类:Java | 阅读:38 views | 标签:

    关于线程Start的异常问题

      在线程启动后,很可能出现预计外的异常。比如RuntimeException,一般我们在程序中很少捕捉这种异常,但一旦出现,我们很希望在Log文件里能看到异常,这样的分析程序就会方便很多。   在Java中,可以通过setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler e)来实现对未捕捉的异常进行处理。其中UncaughtExceptionHandler的实例必须实现uncaughtException函数。在uncaughtE...阅读全文
    作者:yutuo | 分类:Java | 阅读:6 views |

    Java文件列表的方法

      以前写Java程序时,对于文件目录的列表,总喜欢把所有文件列表,然后一个一个地比较后缀名以及是不是文件。这两天,看《Core Jave》时,发现可以用FilenameFilter来实现。比如,看D:\下的TXT文件,代码如下: 12345678910111213141516 import java.io.File; import java.io.FilenameFilter;   public class FilenameFilterTest { public static final String EXT_TXT = &quo...阅读全文
    作者:yutuo | 分类:Java | 阅读:9 views |

    关于带分隔符文件的读取方法

      在系统中,经常有批量输入和输出的操作。比如以CVS输入一个文件到数据库,输出一个文件到数据库。对于这种处理,以前总喜欢用Java的字符串分割的方法来做。今天看了《Core Java2》,发现还可以用Java自带的分隔符读入方法来实现。如下文本: 123 Harry Hacker,35500,1989,10,1 Carl Crecker,75000,1987,12,15 Tony Tester,38000,1990,3,15 对于这种文件,可以使用StringTokenizer来...阅读全文
    作者:yutuo | 分类:Java | 阅读:14 views |

    关于Java的编码形式

    在Java里支持各种各样的编码形式,如GB2312,UTF-8等。以下的程序可以查看Java的所有支持的编码。编码的使用主要用于文件的输入和输出。 1234567891011 import java.nio.charset.Charset; import java.util.Map;   public class AvailableCharsets { public static void main(String[] args) { Map<String, Charset> charsets = Charset.availableCharsets(); ...阅读全文
    作者:yutuo | 分类:Java | 阅读:109 views |