Servlet快速入门

1.Servlet概述

- servlet= server+applet 运行在服务器端的java程序。
- Servlet是一个接口,一个类要想通过浏览器被访问到,那么这个类就必须直接或间接的实现Servlet接口

2.Servlet快速入门

创建web模块。

编写普通java文件实现Servlet。

public class mainServlet implements Servlet {
    /*
    *
    * */
    private ServletConfig servletConfig;
    // init() servlet对象创建时会调用此方法,初始化
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        this.servletConfig = servletConfig;
    }

    @Override
    public ServletConfig getServletConfig() {
        return this.servletConfig;
    }
    //当用户访问时会调用此方法提供服务
    //用户每次访问时都会调用
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        servletResponse.setContentType("text/html;charset=utf-8");
        String encoding = this.servletConfig.getInitParameter("encoding");
        servletResponse.setCharacterEncoding(encoding);
        servletResponse.getWriter().write("你好我叫xz");
    }
    //返回一个介绍信息
    @Override
    public String getServletInfo() {
        return "servlet主程序";
    }
    //servlet对象销毁时调用此方法
    //服务器正常关闭时销毁servlet
    @Override
    public void destroy() {

    }
}
<!--
    将此类交给 tomcat管理
    servlet-name 当前xml中需要的一个别名(通常为类名)
    servlet-class 限定为全路径地址(反射技术实现)
-->
    <servlet>
        <servlet-name>mainServlet</servlet-name>
        <servlet-class>cn.xz.mainServlet</servlet-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </servlet>
<!--

  servlet-name:给直接别名的servlet绑定映射
  url-pattern:网络地址 注意:必须以 / 开头

-->
    <servlet-mapping>
        <servlet-name>mainServlet</servlet-name>
        <url-pattern>/mainServlet</url-pattern>
    </servlet-mapping>
</web-app>

3.Servlet相关API

生命周期:指的是一个对象从生(创建)到死(销毁)的一个过程

// 1.servlet对象创建时,调用此方法
public void init(ServletConfig servletConfig);

  1)默认情况下
    用户第一次访问时,创建servlet,调用init方法
  2)修改创建时机
    <load-on-startup></load-on-startup>
    正数:4~N,服务器在启动时创建
    补充:Tomcat软件全局web.xml里面有1,3创建,这里推荐4~N
    负数(默认值):-1,用户第一次访问时创建

// 2.servlet被用户访问时,调用此方法
public void service(ServletRequest servletRequest, ServletResponse servletResponse);


// 3.servlet对象销毁时,调用此方法
public void destroy();

4.Servlet3.0

// @WebServlet(name = "QuickServlet",urlPatterns = {"/quick","/haha"})
// @WebServlet(urlPatterns = {"/quick","/haha"})
// @WebServlet(value = {"/quick","/haha"})
// @WebServlet({"/quick","/haha"})
@WebServlet("/quick") // 最终简化版...
public class QuickServlet extends HttpServlet {
    
    
}
原文地址:https://www.cnblogs.com/xiaozhang666/p/13345958.html