D02 Sping Boot 入门 Sping框架--Java Web之Servlet

Servlet

1、什么是Servlet

  1、servlet是JavaEE的规范之一。规范就是接口。

  2、servlet是Javaweb三大组件之一。三大组件分别是Servlet程序、Filter过滤器、Listener监听器。

  3、servlet是运行在服务器上的一个Java小程序,它可以接收客户端发过来的请求并响应数据给客户端。

2、手动实现Servlet程序

  1、编写一个类去实现Servlet接口。

  2、实现service方法,处理请求并响应数据。

  3、到web.xml中去配置servlet程序的访问地址。

 

  在src中新建一个package,在package中新建一个类

    

   接着按快捷键alt+insert选择implements methods

  

   接着在web.xml中配置信息

  

   接着重启tomcat访问ip:port和ip:port/hello

3、Servlet生命周期

  1、执行构造函数            // 第一次访问时创建servlet程序时调用

  2、执行init初始方法       // 第一次访问时创建servlet程序时调用

  3、执行service方法       // 每次访问时都会调用

  4、执行destroy销毁方法    // 在web工程停止时调用

   

 4、Servlet请求的分发处理

  在web文件夹里新建a.html

  

   在Servlet里的service函数里判断请求方式并处理请求

  

 5、通过继承HttpServlet类实现Servlet程序(实际开发常用这种方式)

  1、编写一个类继承HttpServlet类

  2、根据业务需要重写doGet和doPost方法

  3、到web.xml中配置Servlet的访问地址

  在package中新建HelloServlet2类,继承HttpServlet类

  

   重写doGet和doPost方法                                                                                         (在这里把super注释掉)

   

   到web.xml文件里去配置访问路径(servlet-class写错,改成<servlet-class>com.gychen.servlet.HelloServlet2</servlet-class>)

  

   

  写请求的页面(form)

    

 6、IDEA菜单生成Servlet程序

   

   

   在web.xml中配置路径,在html中配置按钮

7、Servlet的继承体系  

   

 8、ServletConfig类(Servlet的配置信息类)

   ServletConfig类的三大作用

    1、可以获取Servlet程序的别名,即servlet-name的值

    2、获取初始化参数init-param

    3、获取ServletContext对象

      在Servlet程序里写入代码

       

       在web.xml中配置初始化信息

      

       结果

      

 9、ServletContext类

  a)什么是ServletContext类

    1、ServletContext是一个接口,它表示Servlet上下文对象。

    2、一个web工程,只有一个ServletContext对象实例。

    3、ServletContext对象是一个域对象。

      域对象是可以像Map一样存取数据的对象,这里的域指的是存取数据的操作范围。

            存数据    取数据      删除数据

      Map    put()      get()      remove()      

      域对象   setAttribute()      getAttribute()  removeAttribute()   

   b)ServletContext类的四个作用

    1、获取web.xml中配置的上下文参数context-param。

    2、获取当前的工程路径。

    3、获取工程部署后在服务器硬盘上的绝对路径。

    4、向Map一样存取数据。

    

    新建一个contextServlet类

    

     在web.xml中写入context-param信息

    

     结果

    

    像Map一样存取数据:新建一个contextServlet2类

    

 10、HttpServletRequest类  

  a)HttpServletRequest类的作用

    每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中

    然后传递到service方法(doGet和doPost)中供我们使用。可通过HttpServletRequest对象获取到所有请求的信息。

  b)HttpServletRequest类的常用方法

    Ⅰ、getRequestURI()        获取请求的资源路径

    Ⅱ、getRequestURL()          获取请求的统一资源定位符(绝对路径)

    Ⅲ、getRemoteHost()        获取客户端的ip地址

    Ⅳ、getHeader()           获取请求头

    Ⅴ、getParameter()        获取请求的参数

    Ⅵ、getParameterValues()     获取请求的参数(多个值的时候使用)

    Ⅶ、getMethod()          获取请求的方式(GET或POST)

    Ⅷ、setAttribute(key,value)       设置域数据

    Ⅸ、getAttribute(key)         获取域数据

    Ⅹ、getRequestDispatcher()     获取请求转发对象

     

     如何获取请求参数

      

      

    请求的转发

      什么是请求的转发?

        是指服务器收到请求后,从一个资源跳到另一个资源的操作。

        

        Servlet1

         

        Servlet2

         

 10、HttpServletResponse类 

   

   

   

    解决字符乱码

   

   

   

   

   

   

   

   请求重定向推荐用法

  

   

   

       

     

原文地址:https://www.cnblogs.com/nuister/p/12539646.html