zoukankan      html  css  js  c++  java
  • Servlet

    1.什么是Servlet:

      其实就是一个类,主要负责处理用户的请求和做到数据的相应以及页面的跳转,基于Java技术的Web组件

    2.JSP和Servlet的关系
      JSP首先转换为.java文件,被JVM编译成一个.class,其实上他俩就是一个东西
      JSP负责进行页面数据的渲染
      Servlet处理请求和相应
    3.Servlet的创建配置启动
      1.实现Servlet接口
        init():初始化Servlet
        默认Servlet的初始化在首次访问到Servlet时进行初始化操作,可以通过<load-on-stratup>控制初始化顺序,如果这个节点为负数或者不配置则是默认的初始化顺序
        如果这个节点的值正数,则根据数的大小进行初始化操作,也就是说在服务启动的时候会初始化Servlet,并且值越小初始化操作越先执行
        getServletConfig()获取Servlet配置信息
        service()负责处理用户的请求和相应
        当每一次请求到Servlet时会执行service()方法
        getServletInfo()获取Servlet信息
        destroy()销毁  当项目服务停止时会将Servlet容器中装载的所有Servlet释放掉
      访问Servlet:
        1.配置Web.xml
        <!-- 同一个Servlet在Web.xml当中有两项配置 -->
        <servlet>
        <!--Servlet名称-->
        <servlet-name>DemoServlet</servlet-name>
        <!--对应Servlet的路径(全路径)-->
        <servlet-class>com.demo.servlet.DemoServlet</servlet-class>
        <!--设置Servlet初始化时机-->
        <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
        <!--映射的名字-->
        <servlet-name>DemoServlet</servlet-name>
        <!--暴露给用户的访问地址,并且可以多个-->
        <url-pattern>/DemoServlet</url-pattern>
        </servlet-mapping>
        2.注解
        //我们通过Servlet模板生成的注解默认是只有一个访问地址,如果说要加上其他配置信息,需要以键值对方式体现出来
        @WebServlet("/DemoServlet")
        @WebServlet(loadOnStartup=1,urlPatterns= {"/DemoServlet","/yyy"})
        3.注意问题:
        web.xml和注解方式可以同时存在,但是name和url必须是不相同的,否则会报错
        Servlet和JSP都是单例的,但是现在如果两种方式同时存在,那么创建了两个

      2.方式二:继承GenericServlet类
        service()负责处理用户的请求和相应
        在GenericServlet类中已经对Servlet接口中的4个方法进行了重写,所以子类不需要再次重写其余4个方法
      3.方式三:继承HttpServlet
        主要关注两个方法:
        doGet(HttpServletRequest request, HttpServletResponse response);
        doPost(HttpServletRequest request, HttpServletResponse response);

  • 相关阅读:
    BestCoder17 1001.Chessboard(hdu 5100) 解题报告
    codeforces 485A.Factory 解题报告
    codeforces 485B Valuable Resources 解题报告
    BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
    codeforces 374A Inna and Pink Pony 解题报告
    codeforces 483B Friends and Presents 解题报告
    BestCoder15 1002.Instruction(hdu 5083) 解题报告
    codeforces 483C.Diverse Permutation 解题报告
    codeforces 483A. Counterexample 解题报告
    NSArray中地内存管理 理解
  • 原文地址:https://www.cnblogs.com/Zzzzn/p/11149141.html
Copyright © 2011-2022 走看看