`

Servlet应用机制初步总结

阅读更多

1 .首先,什么是Servlet? 
       Servlet是一个Java编写的程序,此程序是在服务器端运行的,是按照Servlet规范编写的一个Java类。 
  

2.Servlet是做什么的? 
       Servlet是处理客户端的请求并将其发送到客户端。 
  

3.Servlet API 
   1>Servlet框架的组成 
        Servlet框架是由2个Java包组成:(1)javax.servlet和(2)javax.servlet.http 
       (1)javax.servlet包中定义了所有Servlet类都必须实现的接口和类。 
          javax.servlet包的接口为: 
                            ServletConfig接口  ---- 在初始化过程中由Servlet容器使用 
                            ServletContext接口  ---- 定义Servlet用于获取容器信息的方法 
                            ServletRequest接口 ---- 向服务器请求信息 
                            ServletResponse接口 ----  响应客户端请求 
                             Servlet接口  ---- 定义所有Servlet必须实现的方法 
          javax.servlet包中的类为: 
                              ServletInputStream类  ---- 用于从客户端读取二进制数据 
                              ServletOutputStream类  ---- 用于将二进制数据发送到客户端 
                               GenericServlet类  ---- 抽象类,定义一个通用的,独立于地层协议的Servlet。 

       (2)javax.servlet.http包中定义了采用HTTP通信的HttpServlet类。 
          javax.servlet.http包的接口为: 
                         HttpServletRequest接口  ---- 提供http请求 
                         HttpServletResponse接口  ---- 提供http响应 
                         HttpSession接口  ---- 用于标识客户端并存储有关客户信息 
                         HttpSessionAttributeListener接口  ----实现这个侦听接口用户获取会话的属性列表的改变的通知 
          javax.servlet.http包中的类: 
                         HttpServlet类 ---- 扩展了 GenericServlet的抽象类,用于扩展创建Http Servlet 
                          Cookie类  ---- 创建一个Cookie,用于存储Servlet发送给客户端的信息 
                                                      
   2>Servlet框架的核心 
        Servlet框架的核心是:javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。 
  

 4.Http Servlet 
       HttpServlet是一个抽象类,用来创建用户自己的 HTTP Servlet。HttpServlet类的子类必须至少重写一下方法中的一个:doGet()和doPost()。 

      HttpServlet类提供doGet()方法来处理GET请求 
        public void doGet(HttpServletRequest req,HttpServletResponse res) 
              提供doPost()方法处理POST请求  
        public void doPost(HttpServletRequest req,HttpServletResponse res) 
        其中有2个参数:HttpServletRequset和HttpServlerResponse 
         这2个类实现了ServlerRequset接口和ServletResponse接口 
        ServletRequest接口中封装了客户请求信息<客户请求方式,参数名,参数值等> 
        ServletResponse接口 为 Servlet提供了返回相应结果的方法。 
    

5.Servlet体系结构 
          Servlet-->GenericServlet-->HttpServlet-->用户自定义的Servlet 
    

6.Servlet的生命周期 
         Servlet的生命周期由Servlet容器控制,该容器创建Servlet的实例。 
         Servlet生命周期就是指创建Servlet实例后响应客户请求直至销毁的全过程。 
         1>Serlvet生命周期的三个方法:init()-->service()-->destroy() 
         2>生命周期的各个阶段: 
            实例化:Servlet容器创建Servlet类的实例对象 
            初始化:Servlet容器调用Servlet的init()方法 
            服务:如果请求Servlet,则容器调用service()方法 
            销毁:销毁实例之前调用destroy()方法 
            不可用:销毁实例并标记为垃圾处理 

 

1)运行阶段:


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

 

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

 

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

 

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

2)销毁阶段:


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

 

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

 

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

 

7.Servlet怎么处理一个请求?

   

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

 

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

 

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

 

给用户。

 

8.Servlet与JSP有什么区别?

 

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


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


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

 

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

分享到:
评论

相关推荐

    servlet技术初步入门

    - **执行效率高**:Servlet支持多线程机制,能同时处理多个客户端请求,提高服务器响应速度。 - **功能强大**:Servlet可以直接与服务器交互,实现复杂的数据处理和业务逻辑,且可以在多个程序间共享数据。 - **...

    Java servlet初步使用

    在这个"Java servlet初步使用"的主题中,我们将探讨Servlet的基本概念、生命周期、会话管理以及如何在实际项目中应用它们,比如实现一个简单的网上书店功能。 1. **Servlet基本概念** - Servlet是一个Java类,遵循...

    servlet 2.3 规范

    10. **异步处理**:虽然Servlet 2.3规范初步引入了异步处理概念,但真正的异步支持是在Servlet 3.0中完全实现的,不过这仍然是一个重要的进化步骤。 综上所述,Servlet 2.3规范为Java Web开发带来了一系列强大的...

    servlet-api-3.0-alpha-1.jar

    这个版本是Servlet规范3.0的早期预览版,为开发者提供了对新特性和改进的初步体验。在本文中,我们将深入探讨Servlet API 3.0的主要特性,以及如何利用它们来提升Web应用的性能和可维护性。 1. **依赖注入 ...

    Servlet与JSP核心编程(第二版)

    总结一下,《Servlet与JSP核心编程(第二版)》是一本全面、深入讲解Servlet和JSP的书籍,涵盖了从基础到高级的各种主题,对于理解和实践Java Web开发至关重要。通过学习,读者可以系统地理解这两个技术的核心概念,...

    Servlet3.0_新特性

    Servlet3.0的可插性支持类似于Struts2框架的插件机制,允许开发者通过插件的方式扩展Web应用的功能,而无需直接修改应用代码。这种机制为应用的扩展提供了极大的灵活性,使得开发者可以轻松地添加新的功能模块或集成...

    servlet2.3 class包

    在压缩包中的"javax"目录可能包含了Servlet API的类文件,例如`javax.servlet.*`包下的`Servlet`、`ServletConfig`、`HttpServletRequest`、`HttpServletResponse`等接口和类,这些都是开发Servlet应用时不可或缺的...

    Servlet简单模拟Struts2

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,它简化了Java Web应用的开发,提供了强大的动作(Action)管理和拦截器(Interceptor)机制。它的主要优点在于它能够通过配置文件灵活地映射请求...

    10_传智播客在线支付_完成用于处理支付响应的Servlet的初步编写和调试.rar

    这个压缩包文件"10_传智播客在线支付_完成用于处理支付响应的Servlet的初步编写和调试.rar"显然聚焦于一个具体的教学章节,它教授如何利用Servlet来处理在线支付的响应。Servlet是一种Java技术,用于扩展服务器的...

    servlet的分步学习

    Servlet容器还提供了过滤器(Filter)机制,允许在请求到达Servlet之前进行预处理,或在响应返回客户端之前进行后处理。创建过滤器需实现`Filter`接口,并在`web.xml`中配置。例如,一个简单的字符编码过滤器: ```...

    servlet 入门教程

    `ServletConfig`接口是Servlet容器用来传递配置信息给Servlet的机制。 - **服务阶段**:初始化之后,每当有客户端请求到达时,服务器会调用`service()`方法来处理请求。根据HTTP请求类型的不同,`service()`方法内部...

    基于WEB的简历系统(JSP+Servlet)(含数据库)

    【基于WEB的简历系统(JSP+Servlet)(含数据库)】是一个典型的Web应用程序,它利用了Java技术栈,包括JSP(JavaServer Pages)和Servlet,以及数据库存储用户信息。这种系统允许用户通过Web界面创建、编辑和管理他们...

    Java Servlet开发与实例

    Java Servlet是Java Web开发中的核心技术,它是一种服务器端的编程接口,用于扩展Web服务器的功能,创建动态、...通过学习,你不仅可以理解Servlet的工作机制,还能熟练运用到实际项目中,提升你的Java Web开发技能。

    Java的servlet初步学习

    总之,Servlet是Java Web开发中不可或缺的一部分,它提供了一种强大的机制来处理客户端请求,生成动态内容,以及与后端系统进行交互。理解Servlet的工作原理和配置方法对于Java Web开发人员来说至关重要。

    JAVABEAN+servlet 实现简单留言本

    3. **存储数据**:Servlet将这个Bean对象存储到某种持久化机制中,如数据库。这可能涉及数据库连接、SQL语句的执行等操作。 4. **返回响应**:Servlet将处理结果(如成功或失败信息)封装成HTTP响应,并发送回客户端...

    jsp-api-2.1.jar+servlet-api-2.5-6.1.9.jar+jsse.jar

    Servlet 2.5版本支持注解,简化了部署描述符的配置,并引入了对WebSocket协议的初步支持。此版本还加强了对MVC模式的支持,提升了多线程处理能力。 最后,`jsse.jar`是Java Secure Socket Extension的实现,它是...

    用JSP_Servlet和JavaBeans技术实现SQL Server表与DBF文件的相互转换.pdf

    JSP、Servlet和JavaBeans是三种Java相关的技术,它们在网络编程和Web开发中有着广泛的应用。本部分内容将详细解释这些技术,以及如何使用它们来实现SQL Server数据库表和DBF文件之间的相互转换。 JSP(Java Server ...

    基于jsp+servlet实现的网上购物系统,包含用户权限控制。.zip

    这可以通过JavaScript在客户端进行初步验证,然后在Servlet端进行进一步的服务器端验证。 7. **会话管理**:为了跟踪用户状态,系统会使用session对象存储用户信息。当用户登录后,其登录状态会被保存在session中,...

    SWFUpload V 2 在java中的应用

    总的来说,SWFUpload V2在Java中的应用涉及到前端与后端的协同工作,包括JavaScript库的使用、Flash组件的集成、Servlet的编写以及安全策略的实施。通过这种方式,开发者可以构建出强大且用户体验良好的文件上传系统...

    初步学习web.zip

    这是一个基础但关键的学习过程,有助于理解Web应用的运行机制和数据库管理。 首先,德鲁伊数据连接池是阿里巴巴开源的一个高效、强大的Java数据库连接池。它提供了监控、扩展性以及良好的性能,是许多Web项目中的...

Global site tag (gtag.js) - Google Analytics