Servlet2

在web.xml配置虚拟

Servlet2_第1张图片
Servlet的执行过程
//重写的5个方法
public class ServletDemo1 implements Servlet{

    public void service(ServletRequest arg0, ServletResponse arg1)
            throws ServletException, IOException {
        
        arg1.getWriter().write("hello demo1...");
    }
    
    public void destroy() {
    }

    public ServletConfig getServletConfig() {
        
        return null;
    }

    public String getServletInfo() {
        
        return null;
    }

    public void init(ServletConfig arg0) throws ServletException {

    }
}

Servlet的声明周期

  • 第一次请求时,servlet实例通过init()被创建并初始化,不管请求多少次,都只调用一次
  • 实例通过service方法提供服务
  • 服务器关闭或手动移除服务时,调用destroy方法进行销毁

Servlet的接口实现关系

Servlet2_第2张图片
Servlet接口实现关系
Servlet2_第3张图片
HttpServlet类
开发步骤
  • 编写一个类,继承HttpServlet
  • 重写 doGet 和 doPost 方法
  • 在 web.xm l配置

修改模板

   //为了修改模板本身带来的不必要的注释
   * 先找到MyEclipse的安装路径
   * D:\MyEclipse\Common\plugins\com.genuitec.eclipse.wizards_9.0.0.me201211011550.jar
   * 千万别解压,右键-选择压缩工具打开-templates--Servlet.java
Servlet2_第4张图片
新建一个Servlet
Servlet2_第5张图片
上图next, 配置文件设置

自动加载配置

正整数越小,优先级越高


Servlet2_第6张图片
自动加载配置

配置Servlet路径映射配置

Servlet2_第7张图片
l虚拟路径配置

虚拟路径即为:/demo

Servlet2_第8张图片
三种配置方式
Servlet2_第9张图片
优先级

web开发中的路径问题

  • 相对路径
    • hello
    • ./hello
  • ../myweb/hello
  • 绝对路径
  • /hello
  • /myweb/hello
  • 客户端绝对路径与服务器端绝对路径的区别
    • 客户端绝对路径 /day/demo5 需要写项目名
    • 服务器端绝对路径 /demo5 不能写项目名

关于缺省的Servlet

Servlet2_第10张图片
缺省的servlet

        default
        org.apache.catalina.servlets.DefaultServlet
        
            debug
            0
        
        
            listings
            true  //默认是false,可以改为true
        
        1
    

你可能感兴趣的:(Servlet2)