Servlet、Struts1、Struts2、SpringMVC运行原理

xiaoxiao2021-02-28  55

Servlet:

Servlet 是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。 生命周期:Servlet 加载--->实例化--->服务--->销毁 运行原理:   1、Web Client 向Servlet容器(Tomcat)发出Http请求   2、Servlet容器接收Web Client的请求   3、Servlet容器创建一个HttpRequest对象,将Web Client请求的信息封装到这个对象中。   4、Servlet容器创建一个HttpResponse对象   5、Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数传给 HttpServlet 对象。   6、HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息。   7、HttpServlet调用HttpResponse对象的有关方法,生成响应数据。   8、Servlet容器把HttpServlet的响应结果传给Web Client。

Struts1的运行原理    

在启动时通过前端总控制器ActionServlet加载struts-config.xml并进行解析,当用户在jsp页面发送请求被struts1的核心控制器ActionServlet接收,ActionServlet在用户请求时将请求参数放到对应的ActionForm对象中的成员变量中,然后ActionServlet则会根据struts-config.xml中的映射关系找到相应的Action中的方法,将对应的ActionForm一并传给这个Action中的方法里,然后执行相应的业务逻辑操作,最后就根据ActionMapping的findforward方法返回一个ActionForward,之后在struts-config.xml中找到与之对应的forward标签,根据它的配置路径找到对应的jsp页面。

Struts2的运行原理

1、tomcat 启动的时候会加载 web.xml 、核心控制器 FilterDispatcher 会加载并解析 struts.xml 2、客户端会发送一个请求到 action 、FilterDispatcher  会根据后缀名进行拦截 3、FilterDispatcher根据 struts.xml  的配置文件信息 找到 某个action 对应的某个类里的指定方法 4、执行相关的业务逻辑最后返回 一个String

5、<action/> 里配置 <result/> name的属性值与返回的String 进行匹配,跳转到指定的jsp 页面

SpringMVC

整个处理过程从一个HTTP请求开始: 1.Tomcat在启动时加载解析web.xml,找到spring mvc的前端总控制器DispatcherServlet,并且通过DispatcherServlet来加载相关的配置文件信息。 2.DispatcherServlet接收到客户端请求,找到对应HandlerMapping,根据映射规则,找到对应的处理器(Handler)。 3.调用相应处理器中的处理方法,处理该请求后,会返回一个ModelAndView。 4.DispatcherServlet根据得到的ModelAndView中的视图对象,找到一个合适的ViewResolver(视图解析器),根据视图解析器的配置,DispatcherServlet将要显示的数据传给对应的视图,最后显示给用户。

转载请注明原文地址: https://www.6miu.com/read-59785.html

最新回复(0)