struts1要求Action类继承一个抽象基类,而不是接口。 struts2的action类可以实现一个action接口,也可以实现其他接口。sturts1 action是单例模式,线程是不安全的。
Struts2曝出2个高危安全漏洞,一个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞。
Struts2是一个基于插件的框架,社区中提供了很多实用的插件,比如jfreechat/json等等,使用这些插件可以简化我们的开发,加快开发进度。
J2EE本身提供了一些框架。比如, Enterprise Java-Beans (EJB) container或者 Servlet engine 而这些框架一般在中小工程中我们都不会使用,会让我们把大量的时间浪费在开发框架上。
Struts 2是Struts的下一代产品。是在 struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。
Struts2简介:1,来由:Struts(金属支架),在程序中表示起支撑作用的通用程序代码,Struts2是在Struts1框架的基础上融合了WebWork*框架升级得到的。
年,WebWork与Struts这两个*的Java Web框架的开发团队,开始合作开发一个新的、结合了WebWork与Struts的优点,并且更加优雅、扩展性更强的框架,命名为“Struts 2”,并于2007年上半年推出了Struts 2的正式版本。
Struts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。
1、Struts2工作流程:客户端(Client)向Action发用一个请求(Request)Container通过web.xml映射请求,并获得控制器(Controller)的名字 容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。
2、客户端发出一个请求,服务器端StrutsPreparedAndExceuteFilter接收请求。如果该请求是一个以 .action 结尾请求,则Struts2将请求转发至相应的Action,进行数据类型转换,如果数据类型转换出错,则返回到 input 指定的结果页面。
3、(1)导入struts2的jar (2)配置web.xml (3)写一个action 继承actionSupport (4)在jsp上写一个form访问action。
1、struts2是struts1和Webwork结合的产物。
2、核心控制器:FilterDispatcher FilterDispatcher是Struts 2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户请求到达时,该Filter会过滤用户请求。
3、Struts2拦截器原理:当请求到达Struts2时,Struts2查找配置文件,并根据配置实例化相对的拦截器对象,串成一个列表,最后一个一个调用列表中的拦截器。Struts2拦截器栈将拦截器按一定的顺序联结成一条链。
4、客户端发出一个请求,服务器端StrutsPreparedAndExceuteFilter接收请求。如果该请求是一个以 .action 结尾请求,则Struts2将请求转发至相应的Action,进行数据类型转换,如果数据类型转换出错,则返回到 input 指定的结果页面。