开发Servlet的三种模式
开发Servlet的三种方式
Servlet:java服务器端小程序。
Servlet网络拓扑图 :
sevlet生命周期:
1、servlet容器创建servlet的一个实例
2、容器调用该实例的init()方法
3、如果容器对该servlet有请求,则调用此实例的service()方法
4、容器在销毁本实例前调用它的destroy()方法
一旦请求了一个servlet,就没有办法阻止容器执行一个完整的生命周期。
一、通过实现Servlet接口开发Servlet程序
/** *使用实现Servlet接口的方式来开发Servlet程序 */ package com.test; import javax.servlet.Servlet; import javax.servlet.*; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException; import java.io.*; public class HelloServletInterface implements Servlet { //该函数用于初始化该Servlet(类似于类的构造函数) //该函数只会被调用一次(当用户第一次访问该Servlet时调用) public void init(ServletConfig parm1) throws ServletException { // TODO: Add your code here System.out.println("inti()"); } public ServletConfig getServletConfig() { // TODO: Add your code here return null; } //用于处理业务逻辑,当用户每访问该Servlet时都会被调用。 //req:用于获得客户端信息 //res:用于向客户端(浏览器)返回信息 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { // TODO: Add your code here System.out.println("service()"); PrintWriter pw = res.getWriter(); pw.println("Hello Servlet Interface"); } public String getServletInfo() { // TODO: Add your code here return null; } //销毁Servlet实例(释放内存) //1、reload该servlet(webApps) 2、关闭tomcat; public void destroy() { // TODO: Add your code here System.out.println("destory()"); } }
Note:每编写一个servlet程序都要进行部署,在web.xml中添加以下信息, 当然如果用myEclipse等集成开发工具就不需要手写了,开发工具会自动添加相关信息。
<servlet> <!-- servlet名 可以任意--> <servlet-name>helloServletInterface</servlet-name> <!-- 指明servlet的路径,(包名+类名) --> <servlet-class>com.test.HelloServletInterface</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloServletInterface</servlet-name> <!--这是在浏览器中输入的访问该servlet的url, 任意的 --> <url-pattern>/helloServletInterface</url-pattern> </servlet-mapping>