struts2工作原理详解,struts2的工作原理
struts2工作原理详解,struts2的工作原理详细介绍
本文目录一览:struts2原理
如果该请求是一个以 .action 结尾请求,则Struts2将请求转发至相应的Action,进行数据类型转换,如果数据类型转换出错,则返回到 input 指定的结果页面。
Struts2拦截器原理:当请求到达Struts2时,Struts2查找配置文件,并根据配置实例化相对的拦截器对象,串成一个列表,最后一个一个调用列表中的拦截器。Struts2拦截器栈将拦截器按一定的顺序联结成一条链。
首先说,struts一般指struts1,struts2是struts1与webwork的结合产物.struts是一种开放源代码框架,至于工作原理,现在还没有明确的定义,你可以看看它的工作流程图。
Struts2是控制层框架,Struts2这个东西很多人认为是struts的升级版,但其实他合Struts没多大关系,仅仅只是使用方法类似,内部架构原理完全不同。
所以广义来说 spring和 struts2的拦截器的工作原理都一样。
关于struts2,hibernate2,spring3,面试时让我说下这三大框架的工作原理...
由于它特殊的设计模式,使得它可以灵活地与其它框架整合,主要是通过配置文件的方式来完成。spring和hibernate整合在实际上替代了hibernate,因为它对hibernate的方法进行了包装。
说struts2是控制层是错误的,因为struts2本身就是一个标准的Web层的MVC框架,主要控制的是用户的请求——程序的处理——程序的返回这个流转过程。
在这三个框架其实每个方面都有替代的方案,比如Struts 2可以改用SpringMVC,Hibernate改用MyBatis,Spring IoC也有Google Guice可替。只不过这三个目前比较成熟,能查到的资料也比较多,所以大多项目喜欢用这个组合。
struts 控制跳转---比如说,你用SSH写了一个登陆的逻辑,如果输入信息正确跳转到成功界面,如果不正确就跳转到错误提示界面,那跳转的方向由谁指定呢,对就是struts.xml文件(里面对应的跳转逻辑名)。
而现在比较流行开源框架,主要是struts,hibernate,spring等 比如struts是在原有mvc基础上实现在代码分离等功能,非常好用。而hibernate可以把我们的关系型数据库转换成我们在JAVA中的面像对像来使用。
Struts2的核心工作原理是什么?
客户端发出一个请求,服务器端StrutsPreparedAndExceuteFilter接收请求。如果该请求是一个以 .action 结尾请求,则Struts2将请求转发至相应的Action,进行数据类型转换,如果数据类型转换出错,则返回到 input 指定的结果页面。
核心控制器:FilterDispatcher FilterDispatcher是Struts 2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户请求到达时,该Filter会过滤用户请求。
Struts2工作流程:客户端(Client)向Action发用一个请求(Request)Container通过web.xml映射请求,并获得控制器(Controller)的名字 容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。
我就我的理解简单说一下吧,说起struts2其实它的核心是webwork,它之所以能火起来是因为它是个低侵入性、可扩展的框架。
Struts2拦截器原理:当请求到达Struts2时,Struts2查找配置文件,并根据配置实例化相对的拦截器对象,串成一个列表,最后一个一个调用列表中的拦截器。Struts2拦截器栈将拦截器按一定的顺序联结成一条链。
简单说,三者不过把一些常用的功能方法进行封装,使得这些方法规范化,避免像在jsp开发中重复而零散地编写类似代码。