zoukankan      html  css  js  c++  java
  • javaweb中的servlet(二)

    Servlet

    1. 什么是servlet
    2. Servlet有什么作用与生命周期
    3. servlet怎么处理一个请求
    4. Servlet与jsp的区别
    5. servlet过滤器与监听器

    什么是Servlet?

    Servlet是一个Java编写的程序,此程序是基于Http协议的,在服务器端运行的(如tomcat),

    是按照Servlet规范编写的一个Java类。

    Servlet有什么作用?

    主要是处理客户端的请求并将其结果发送到客户端。

    Servlet的生命周期?

    Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化,运行,销毁。

    初始化阶段:

    1,Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。

    2,然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息。

    3,Servlet容器创建一个servlet对象。

    4,Servlet容器调用servlet对象的init方法进行初始化。

    运行阶段:

    当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象。

    然后调用service方法。并把这两个参数传递给service方法。Service方法通过servletRequest对象获得请求的

    信息。并处理该请求。再通过servletResponse对象生成这个请求的响应结果。然后销毁servletRequest和

    servletResponse对象。我们不管这个请求是post提交的还是get提交的,最终这个请求都会由service方法来处理。

    销毁阶段:

    当Web应用被终止时,servlet容器会先调用servlet对象的destrory方法,然后再销毁servlet对象,

    同时也会销毁与servlet对象相关联的servletConfig对象。我们可以在destroy方法的实现中,释放

    servlet所占用的资源,如关闭数据库连接,关闭文件输入输出流等。

    在这里该注意的地方:

    在servlet生命周期中,servlet的初始化和和销毁阶段只会发生一次,而service方法执行的次数则取决于servlet被客户

    端访问的次数

    Servlet怎么处理一个请求?

    当用户发送一个请求到某个Servlet的时候,Servlet容器会创建一个ServletRequst和ServletResponse对象。

    在ServletRequst对象中封装了用户的请求信息,然后Servlet容器把ServletRequst和ServletResponse对象

    传给用户所请求的Servlet,Servlet把处理好的结果写在ServletResponse中,然后Servlet容器把响应结果传

    给用户。

    Servlet与JSP有什么区别?

    1,jsp经编译后就是servlet,也可以说jsp等于servlet。

    2,jsp更擅长页面(表现)。servlet更擅长逻辑编辑。 (最核心的区别)。

    3,在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,

    JSP位于MVC设计模式的视图层,而Servlet位于控制层。

    Servlet里的过滤器?

    过滤器的主要作用

    1,任何系统或网站都要判断用户是否登录。

    2,网络聊天系统或论坛,功能是过滤非法文字

    3,统一解决编码

    (2)怎么创建一个过滤器:

    1,生成一个普通的class类,实现Filter接口(javax.servlet.Filter;)。

    2,重写接口里面的三个方法:init,doFilter,destroy。

    3,然后在web.xml配置过滤器。

    Servlet里的监听器?

    监听器的作用:自动执行一些操作。

    三种servlet监听器:

    对request的监听。对session的监听。对application的监听。

    怎么创建一个session监听器:

    1,生成一个普通的class类,如果是对session的监听,则实现HttpSessionListener。

    2,然后重写里面的五个方法:

    public void sessionCreated(HttpSessionEvent arg0) {} // 创建  
      
    public void sessionDestroyed(HttpSessionEvent arg0) {} // 销毁  
      
    public void attributeAdded(HttpSessionEvent arg0) {} // 增加  
      
    public void attributeRemoved(HttpSessionEvent arg0) {} // 删除  
      
    public void attributeReplaced(HttpSessionEvent arg0) {} // 替换
  • 相关阅读:
    redis官方网站及文档
    kafka 官网帮助文档
    elasticsearch 官方入门 及 API
    解决Maven出现Plugin execution not covered by lifecycle configuration 错误
    linux下scp用法
    Spring AOP 实现原理
    深入浅出spring IOC中三种依赖注入方式
    Servlet API 中文版
    【转】httpservlet 文章
    jsp request 对象详解
  • 原文地址:https://www.cnblogs.com/laowt/p/13950506.html
Copyright © 2011-2022 走看看