美文网首页
Servlet学习笔记

Servlet学习笔记

作者: 柳岸 | 来源:发表于2016-10-25 22:47 被阅读0次

    Servlet简介

    Servlet是什么

    Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

    Servlet架构
    Paste_Image.png

    Servlet生命周期

    Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:
    创建Servlet有两个时机:1)客户端第一次请求一个Servlet的时候 2)Web应用启动的时候立即创建,load-on-startup Servlet
    Servlet 通过调用 init () 方法进行初始化。
    Servlet 调用 service() 或者doGet和doPost方法来处理客户端的请求。
    Servlet 通过调用 destroy() 方法终止(结束)。
    最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

    Hello World

    // 导入必需的 java 库import java.io.*;
    import javax.servlet.*;import javax.servlet.http.*;
    // 扩展 HttpServlet 类
    public class HelloWorld extends HttpServlet { 
        private String message; public void init() throws ServletException {
        // 执行必需的初始化 
        message = "Hello World"; 
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // 设置响应内容类型
     response.setContentType("text/html"); 
    // 实际的逻辑是在这里 
     PrintWriter out = response.getWriter(); 
    out.println("<h1>" + message + "</h1>"); 
    } 
    public void destroy() { 
    // 什么也不做
     }
    }
    

    Servlet的配置

    从Servlet3.0开始,配置Servlet有两种方式:

    • 在Servlet中使用@WebServlet注解进行配置
    @WebServlet(name="firstServlet", urlPatterns={"/firstServlet"})
    
    • 在web.xml文件中进行配置
    <servlet>
        <servlet-name>name</servlet-name>
        <servlet-class>class</servlet-class>
    <servlet>
    <servlet-mapping>
        <servlet-name>name</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    

    load-on-startup Servlet

    有两种方式:
    方式一:

    @WebServlet(loadOnStartUp=1)
    

    方式二:

    <servlet>
        <servlet-name>name</servlet-name>
        <servlet-class>class</servlet-class>
        <load-on-startup>1</load-on-startup>
    <servlet>
    

    这个整数值越小,表面优先级越高。

    访问Servlet的配置参数

    同样有两种方式:
    方式一:

    @WebServlet(name="testServlet",urlPattern="/testServlet",initParams={@WebInitParam(name="a",value="b")})
    public class TestServlet extends HttpServlet{
      public void service(HttpServletRequest request,HttpServletResponse, response) throws ServletException, java.io.IOException{
        ServletConfig config = getServletConfig();
        String a = config.getInitParameter("a");
      }
    }
    

    方式二:

    <servlet>
        <servlet-name>name</servlet-name>
        <servlet-class>class</servlet-class>
        <init-param>
            <param-name></param-name>
            <param-value></param-value>
        </init-param>
    <servlet>
    

    相关文章

      网友评论

          本文标题:Servlet学习笔记

          本文链接:https://www.haomeiwen.com/subject/brdbyttx.html