Serlvet入门

Serlvet入门
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

Serlvet入门

Serlvet是用来处理客户端请求并产生动态页面内容的JAVA类。
所有的Serlvet都必须直接或者间接实现javax.serlvet.Servlet.

有两种间接的方式

  • 继承javax.serlvet.GenericServlet(实现了Servlet和ServletConfig接口),通过此方法能够简化程序代码,但需要实现service()方法
  • 继承javax.servlet.http.HTTPServlet(继承了GenericServlet类)为实际开发中大多数Servlet处理HTTP请求的应用灵活的方法

总结:

  • a.Serlvet使用多线程可以并行的为多个请求服务。
  • b.Serlvet应用是通过监听器、过滤器来实现。
  • c. web.xml的加载顺序context-param->listener(监听器)->filter(过滤器)->servlet
  • d.监听器可以对application、session、request创建或者消亡时做属性操作;
    过滤器可以用来转换HTTP请求,响应和头信息
  • f.在Structs2.0 中 interceptor:拦截器是对过滤器更加细化的应用 (不是在web.xml中配置)

关于Serlvet过滤器

第一部分:过滤器在WEB应用
由filter元素包括 filter-name和filter-class

第二部分:过滤器映射定义
filter-mapping 将过滤器映射到一个或者多个Serlvet或者JSP文件,
也可以采用url-pattern将过滤器映射到任意特征的URL

关于Serlvet监听器
实现 ServletContextListener、HttpSessionListener、ServletRequestListener类分别对 针对于ServletContext、HttpSession、ServletRequest对象的增删修改进行监听。

<listener> 
<listener-class>.</listener-class>
</listener>

Serlvet的生命周期
Servlet 加载—>实例化—>服务—>销毁。
Servlet是基于 观察者模式设计
主要的方法:init() 、service() 、destory()

总结:

  • a.在Serlvet生命周期init()和destory()只会调用一次,每运行一次JSP都会调用一次service()
  • b.JSP先解析成Servlet源文件,再被编译成Servlet类文件

SpringMVC处理请求

  • Model模型:存取数据
  • View视图:展示数据
  • Controller控制器:与用户进行交互

在这里插入图片描述

  • DispatcherServlet 前端控制器:接收用户请求
  • HandlerAdapter 处理器适配器:选择合适的处理器,并且调用相应功能处理方法
  • ViewResolver 视图解析器

用户发送请求和返回响应的流程

  1. 发送请求 至DispatcherServlet
  2. 映射处理器 获取处理器映射至 DispatcherServet
  3. HandlerAdapter进行处理器适配
  4. 调用处理器相应功能处理方法
  5. ViewResolver 接收View 进行视图解析
  6. Model加入到View 中进行视图渲染
  7. DispatcherServlet返回响应

在这里插入图片描述

本文来源蹊源的奇思妙想,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/14706

发表评论