• servlet介绍


     

    1.首先说Servlet API:servlet的命名:server+applet

    Servlet的框架是由两个Java包组成的:javax.servlet与javax.servlet.http。

    在javax.servlet包中定义了所有的Servlet类都必须实现或者扩展的通用接口和类。

    在javax.servlet.http包中定义了采用Http协议通信的HttpServlet类。

    也就是说,二者有一定的独立性。开始我始终认为,HttpServletRequest是servlet产生的,但我的项目中没有用到servlet,又哪来的这个对象呢?当知道二者的独立性时,就有

    点明了了。

    2.关于Tomcat:

    它实现了servlet API.也就是说,它的内部,定义了servlet中接口的实现类,并且在它运行时,将一些实现类自动地实例化。

    Tomcat 是Web应用服务器,是一个Servlet/JSP容器.Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器上的组件. Servlet最常见的用途是扩展Java Web服务器功能,提供非常安全的,可移植的,易于使用的CGI替代品. 它的处理流程如下:

    1、Web客户向Servlet容器(Tomcat)发出Http请求

    2、Servlet容器分析客户的请求信息

    3、Servlet容器创建一个HttpRequest对象,将客户请求的信息封装到这个对象中

    4、Servlet容器创建一个HttpResponse对象  

    5、Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数

      传给 HttpServlet对象

    6、HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息

    7、HttpServlet调用HttpResponse对象的有关方法,生成响应数据

    8、Servlet容器把HttpServlet的响应结果传给Web客户

    看到这个流程了,自然也就知道,虽然我的Struts2中没有用到servlet,但是由于前四步中,已经产生了HttpServletRequest和response对象,所以,Struts2可以使用了。

    对于整体的理解就是这样了,至于业务逻辑的实现,就是既可以用servlet来实现处理,跳转,也可以用sturts2的过滤器来来完成。

    一个容器中有多个servlet,只不过是每一个servlet都是单例模式, 并且通过多线程,来处理多个用户的响应。

  • 相关阅读:
    JS 中深拷贝的几种实现方法
    实现一个函数clone,可以对JS中的5种数据类型(Number、String、Object、Array、Boolean)进行值复制
    etTimeout来实现setInterval
    原型链
    Vue.js面试题整理
    JS中的闭包
    JavaScript的数据类型
    MyBatis-Plus使用(1)-概述+代码生成器
    JDK8的Optional用法
    动态修改HttpServletRequest的Post请求参数
  • 原文地址:https://www.cnblogs.com/keyi/p/6127647.html
Copyright © 2020-2023  润新知