一、servle声明周期
(1)装载servlet,由相应的容器来完成(如tomcat)
(2)创建一个servlet实例
(3)调用init()方法,该方法只会在第一次访问该servlet时被调用一次
(4)服务:调用servlet的service()方法,一般业务逻辑在这里处理,该方法在访问该servlet时,都会被调用;一般会编写一个处理方法process(),在doGet()和doPost()中均调用该方法。所有的处理代码写在process方法中即可
(5)销毁:调用servlet的destroy()方法,销毁该servlet实例,该方法在以下情况被调用:a tomcat重启 b reload该webapp c 重启电脑
二、servlet开发实例
(1)在C:/tomcat/webapps下建立project,如
mywebsite
|- WEB-INF
|- classes
|- lib
|-web.xml
在classes中编写servlet程序:Hello.java
package com.tsinghua; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Hello extends HttpServlet{ public Hello(){ super(); } //该函数用于初始化servlet(类似于类的构造函数) //该函数只会被调用一次(当用户第一次访问该servlet时被调用) public void init() throws ServletException{ System.out.println("init it"); } //这个函数用于处理业务逻辑 //程序员应当把业务逻辑代码写在这里 //当用户每访问该servlet时,都会被调用 //req 用于获得客户端(浏览器)信息 //res 用于向客户端(浏览器)返回信息 public void process(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ System.out.println("service it"); PrintWriter pw=response.getWriter(); pw.println("hello,world!"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ process(request,response); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ process(request,response); } //销毁servlet实例(释放内存) //1.reload 该servlet(webApps) //2.关闭tomcat //3.关机 public void destroy(){ super.destroy(); System.out.println("destroy it"); } }
编译:javac -d . Hello.java
(2)在lib里面放入servlet-api.jar
(3)配置web.xml
<?xml version="1.0" encoding="gbk"?> <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>com.tsinghua.Hello</servlet-class> </servlet> <servlet-mapping> <!--对应servlet的名字--> <servlet-name>hello</servlet-name> <!--这是在浏览器中输入的访问该servlet的url,任意的--> <url-pattern>/sp</url-pattern> </servlet-mapping> </web-app>
(4)打开浏览器,输入http://localhost:8080/mywebsite/sp
成功!