JavaWeb学习—Servlet(十三)

Posted 王同学要努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb学习—Servlet(十三)相关的知识,希望对你有一定的参考价值。

【JavaWeb学习】—Servlet(十三)

一、什么是Servlet?

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。


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

Servlet是JavaWeb的三大组件之一,JavaWeb三大组件指的是Servlet、Filter、Listener。


二、手动实现Servlet程序

  • 编写一个类去实现Servlet接口

  • 实现Servlet方法,处理请求,并响应数据

  • 到web.xml中去配置Servlet程序的访问地址


三、url地址如何定位到Servlet程序去访问

四、Servlet生命周期

  • Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程

  • 一次创建,到处服务

  • 一个Servlet只会有一个对象,服务所有的请求

  1. 执行Servlet构造函数(实例化)

  2. 执行init初始化方法(初始化)

  3. 执行service方法(服务)

  4. 执行destory销毁的方法(销毁)


    public class ServletDemo1 implements Servlet 
    
        //public ServletDemo1()
    
         //生命周期方法:当Servlet第一次被创建对象时执行该方法,该方法在整个生命周期中只执行一次
        public void init(ServletConfig arg0) throws ServletException 
                    System.out.println("=======init=========");
            
    
        //生命周期方法:对客户端响应的方法,该方法会被执行多次,每次请求该servlet都会执行该方法
        public void service(ServletRequest arg0, ServletResponse arg1)
                throws ServletException, IOException 
            System.out.println("hehe");
    
        
    
        //生命周期方法:当Servlet被销毁时执行该方法
        public void destroy() 
            System.out.println("******destroy**********");
        
    //当停止tomcat时也就销毁的servlet。
        public ServletConfig getServletConfig() 
    
            return null;
        
    
        public String getServletInfo() 
    
            return null;
        
    
    

    五、通过继承 HttpServlet 实现 Servlet 程序

    public class ServletDemo3 extends HttpServlet 
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException 
            System.out.println("haha");
        
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException 
            System.out.println("ee");
            doGet(req,resp);
        
    
    
    

六、整个Servlet类的继承体系

以上是关于JavaWeb学习—Servlet(十三)的主要内容,如果未能解决你的问题,请参考以下文章

Servlet学习笔记

javaweb学习总结(四十三)——Filter高级开发

JavaWeb入门视频学习教程

JavaWeb学习总结(十三)——使用Session防止表单重复提交

JavaWeb学习总结(十三)——使用Session防止表单重复提交

JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件