`

简要介绍Servlet

 
阅读更多

一、编译、配置、部署

 

        servlet工程位于/home/www/wb/java/testservlet,源文件放在src目录下,web.xml和classes位于WEB-INF目录下。

        发布目录在:/usr/share/tomcat7/webapps/testservlet。

 

以下是一次编辑、编译、配置、部署的过程:

        1. export CLASSPATH=$CLASSPATH:/home/www/wb/java/testservlet/src/

        2. CLASSURL="/home/www/wb/java/testservlet/WEB-INF/classes"

        3. SRCURL="/home/www/wb/java/testservlet/src"

        4. cd $SRCURL/com/xxx/servlet

        5. vi HelloServlet.java

        6. javac HelloServlet.java -d $CLASSURL

        7. 修改web.xml

        8. cp -r /home/www/wb/java/testservlet/WEB-INF /usr/share/tomcat7/webapps/testservlet

 

二、servlet生命周期

 

        每个servlet服务器只创建单一实例,每个用户请求都会引发新的线程。首次创建servlet时,它的init方法会得到调用,因此,init是防止一次性设置代码的地方。在这之后,针对每个用户的请求,都会创建一个线程,该线程调用前面创建的实例的service方法。多个并发请求一般会导致多个线程同时调用service。之后,由service方法一句接收到的HTTP请求的类型,调用doGET,doPost,或其他doXxx方法。最后,如果服务器决定卸载某个servlet,他会首先调用servlet的destory方法。

 

三、SingleThreadModel接口

 

        原则上,可以让servlet实现SingleThreadModel接口,阻止多线程访问,但是严重影响并发性能,servlet2.4规范中明确反对使用这种方式。绝不要使用这个接口,改用多线程同步控制共享资源较好。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics