• Servlet(一)基础总结


    一、Servlet概述

    1.Java Servlet是基于Java的一种技术和标准,是独立于平台和协议,服务器端的java应用程序。与Applet相比。Applet运行在客户端,而Servlet运行在服务器端。

    2.Java Servlet 是由web服务器进行加载的,Servlet 是通过Web服务器接收来自客户端的请求,执行某种功能,返回给客户端。(response和request)

    3.servlet的基本流程:

    (1)客户端向web服务器发起一个HTTP请求

    (2)web服务器接收请求,交给Servlet容器。Servlet容器可以在主机的同一个进程,不同的进程或者其他的web服务主机的进程中启动来处理这个请求。

    (3)servlet容器根据servlet的配置文档确定需要调动的servlet,并且把request,response对象传给他。

    (4)servlet通过request对象获取客户的请求信息和其他信息,处理请求生成送回客户端的数据。servlet处理完请求之后把要返回的信息放在response对象。

    (5)servlet完成请求处理后,servlet引擎会不断的刷新response,把控制权返回送给web服务器。

    4. Servlet 也是JSP的基础。

      

    5.Servlet的生命周期

    Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
      ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
      ②装载并创建该Servlet的一个实例对象。 
      ③调用Servlet实例对象的init()方法。
      ④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
      ⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

    6.创建Servlet

    (1).继承HttpServlet抽象类

    (2)重写适当的方法,重写doGet()、doPost()方法。

    7.web.xml配置方法

    如果正常直接创建Servlet,可以正常生成web.xml配置文件。但是如果改名的话要注意配置信息是否已经更改了

    (1)名称、类其他选项配置

    <servlet>
    <servlet-name>ServletDemo1</servlet-name>
    <servlet-class>gacl.servlet.study.ServletDemo1</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>ServletDemo1</servlet-name>
    <url-pattern>/servlet/ServletDemo1</url-pattern>  // Servlet 的地址信息
    </servlet-mapping>

    (2)启动优先权  就是运行了之后加载的顺序。

        a、欢迎页 也就是启动服务器进入的第一个页面

    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    b、

    <servlet>
    <servlet-name>my</servlet-name>
    <servlet-class>is.servelrt.liu.my</servlet-class>
    <load-on-startup>5</load-on-startup>  //第五个加载
    </servlet>

    (3)servlet的映射,使不同的方法访问这个Servlet

    <servlet-mapping>
    <servlet-name>my</servlet-name>
    <url-pattern>/Test/*</url-pattern> //如果请求的路径中包含/Test/a 或者/Test/b 等都可以访问
    </servlet-mapping>

  • 相关阅读:
    区间dp_学习笔记
    状态压缩dp_学习笔记
    第十一届蓝桥杯C/C++ J题网络分析(带权并查集水题)
    状态机dp学习笔记_AcWing
    洛谷P4052 [JSOI2007]文本生成器(AC自动机+DP)
    洛谷P5840 [COCI2015]Divljak (AC自动机+fail树上dfs序+树上差分线段树维护)
    洛谷P3401 [USACO12JAN]Video Game G(AC自动机+记忆化搜索)
    HDU3613 Best Reward (exKMP/manacher)
    洛谷P2375 [NOI2014]动物园(KMP+倍增优化)
    ICPC2017南宁站题解(A,E,F,H,I,J,L,M)
  • 原文地址:https://www.cnblogs.com/SitongLiu/p/5837897.html
Copyright © 2020-2023  润新知