10.Servlet简单介绍

1.什么是Servlet

  * Servlet是javaweb的三大组件之一,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet种通常需要:

      * 接受请求数据

      * 处理请求

      * 完成响应

  * 例如客户端发出登入请求,或则输出注册请求,这些请求都应该有Servlet来完成处理,Servlet需要我们自己来编写,每个Servlet必须实现javax.servlet.Servlet接口

  

  * Servlet的特性

      * 单列:一个类只有一个对象;当然可能存在多个Servlet类

      * 线程不安全,所以它的效率是高的

      注意:Servlet类由我们自己来写,但是对象由服务器来创建,并且由服务器来调用相应的方法

2.实现Servlet的三种方式

  * 实现 java.servlet.Servlet接口

  * 继承 java.servlet.GenericServlet类

  * 继承 java.servlet.http.HttpServlet类

  通常我们会继承HttpServlet类来完成我们的Servlet

3.下面是实现java.servlet.Servlet接口,实现的几个方法,并对这几个方法简单的介绍

package 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 Demo1 implements Servlet {
    /*
     * 它是生命周期方法
     * 它会在Servlet被销毁之前调用,并且只会调用一次
     * 这个方法一般不会用,如果用,这个方法会释放一些绑定的非内存资源(io流,数据库连接等等)
     */
    @Override
    public void destroy() {

    }
   
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    /*
     * 获取Servlet的信息,这个方法几乎没用
     */
    @Override
    public String getServletInfo() {
        return null;
    }
    
    /*
     * 它是生命周期方法
     * 它会在Servlet对象创建之后马上执行,并且只执行一次
     */
    @Override
    public void init(ServletConfig servletconfig) throws ServletException {

    }
    
    /*
     * 它是生命周期方法
     * 它会被调用多次
     * 每次处理请求都会调用这个方法
     */
    @Override
    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {

    }

}

4.如何让浏览器访问Servlet(这个需要在web.xml中对Servlet进行配置)

  * 给Servle指定一个Servlet路径(让Servlet与一个路径绑定在一起)

  * 浏览器访问Servlet路径

    * web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns
="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation
="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version
="3.0"> <servlet> <servlet-name>xxx</servlet-name> <servlet-class></servlet-class> </servlet> <servlet-mapping> <servlet-name>xxx</servlet-name> <url-pattern>/Demo1</url-pattern> </servlet-mapping> </web-app>
原文地址:https://www.cnblogs.com/zjdbk/p/9221614.html