Servlet

什么是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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值