读书人

Servlet第一个事例(转)

发布时间: 2012-12-20 09:53:21 作者: rapoo

Servlet第一个例子(转)

我们通过代码和web.xml配置文件来介绍servlet的运行原理和生命周期.在这个例子中我们通过实现servlet接口来实现我们的代码。实现servlet接口就要实现接口中的所有方法。

一、代码部分(test.java)

import javax.servlet.*;import java.io.*;public class test implements Servlet {private int i;public test() {}/** * 初始化servlet,该函数只会被调用一次(当用户第一次访问该servlet时) */public void init(ServletConfig parm1) throws ServletException {System.out.println("init it");i = 0;}public ServletConfig getServletConfig() {return null;}/** *这个函数用于处理业务逻辑,业务代码部分在这里实现(当用户访问该servlet时,该函数都会被调用) */public void service(ServletRequest parm1, ServletResponse parm2)throws ServletException, IOException {System.out.println("service it");++i;PrintWriter pw = parm2.getWriter();pw.println("Hello World");pw.println(i);//从输入的i值便知道,servlet是单例模式工作的,不管哪个机子访问它,它的i值都会增加,所以在多用户并发访问,将解决线程同步的问题交由程序员来控制}public String getServletInfo() {return null;}/** * 以下两种情况会调用destory 1、reload该servlet(在tomcat控制台中reload) 2、关闭tomcat,这个是强行结束了 */public void destroy() {System.out.println("destory it");}}

?二、web.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><servlet><!--给servlet取名字,名字可以任意--><servlet-name>hello</servlet-name><!--指明servlet的路径,(包名+类名)--><servlet-class>test</servlet-class></servlet><!-- Define the hello Servlet Mapping --><servlet-mapping><!--和servlet中的servlet-name一致--><servlet-name>hello</servlet-name><!--这是在浏览器中输入的访问该servlet的url,是任意的--><!--浏览器根据这个pattern找到对应的servlet-name,再根据servlet-name找到对应的class--><url-pattern>/list</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>
?三、访问servlet

??? 1、启动tomcat
??? 2、输入http://127.0.0.1:8080/ServletTest/list?就可以访问servlet

四、servlet的生命周期
?? 当第一次访问servlet时,init()会被调用,然后调用service().接下来每次访问servlet时,service都会被调用。当关闭该servlet时,或者reload该项目时,destory被调用

读书人网 >编程

热点推荐