Servlet

来源:互联网 发布:尤克里里调音软件推荐 编辑:程序博客网 时间:2024/04/30 00:04

什么是Servlet

Servlet是sun公司的一门用于开发动态web资源的技术
Servlet是一个接口,若想发布一个动态web资源,需要:
1.Java类实现Servlet接口
2.把Java类部署到web服务器中
通常把这个Java类成为Servlet

Servlet如何运行

Servlet由web服务器调用,web服务器收到Servlet访问请求后:
1.web服务器检测是否已经加载了该Servlet实例;如果否,则执行2,否则执行4;
2web服务器实例化和加载Servlet;
3调用初始化方法init();
4调用service()
5当服务器检测到一个Servlet从服务器中被移除,会调用destroy()
示意图:
这里写图片描述

测试例子

首先建立一个Web Project(Web_1.1),配置web.xml

<servlet>  <servlet-name>ServletDemo1</servlet-name>  <servlet-class>com.servlet.Servlet1</servlet-class>  </servlet>  <servlet-mapping>  <servlet-name>ServletDemo1</servlet-name>  <!--拦截匹配*.do的访问-->  <url-pattern>*.do</url-pattern>  </servlet-mapping>  <servlet-mapping>  <servlet-name>ServletDemo1</servlet-name>  <url-pattern>*.action</url-pattern>  </servlet-mapping>

实现Servlet接口

package com.servlet;import java.io.IOException;import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class Servlet1 implements Servlet{    @Override    public void destroy() {        System.out.println("this is detroy");    }    @Override    public ServletConfig getServletConfig() {        // TODO Auto-generated method stub        return null;    }    @Override    public String getServletInfo() {        // TODO Auto-generated method stub        return null;    }    @Override    public void init(ServletConfig arg0) throws ServletException {        System.out.println("this is init");    }    @Override    public void service(ServletRequest arg0, ServletResponse arg1)            throws ServletException, IOException {        System.out.println("this is service");    }}

测试步骤

将项目部署到Tomcat,然后运行Tomcat

然后访问http://localhost:8080/Web_1.1/a.do

首次访问打印结果

this is init
this is service

F5刷新再次访问,继续打印

this is service

重新加载项目(对着tomcat下的项目右键reload application而不是红色按钮stop server)
继续打印

2016-2-17 10:03:02 org.apache.catalina.startup.HostConfig checkResources
信息: Reloading context [/Web_1.1]
this is detroy

0 0
原创粉丝点击