• 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);

  • 相关阅读:
    学习笔记
    js闭包
    一个非必现问题的定位和反思
    C语言的设计模式面向对象机制的实现(一)
    多线程和单线程的执行效率问题
    python 多态
    C语言的设计模式接口隔离
    构建表达式二叉树
    C语言的设计模式依赖倒置
    C语言的设计模式单一职责
  • 原文地址:https://www.cnblogs.com/wang01/p/11143464.html
Copyright © 2020-2023  润新知