Struts2学习总结
作者:周#生
撰写时间:2020年 04月28日
开发工具与关键技术:MyEclipse10,java
Struts2学习总结
什么是struts2:
1.Struts2轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层。低侵入性,与业务代码的耦合度很低。Struts2实现了MVC,并提供了一系列API,采用模式化方式简化业务开发过程。
2.与Servlet对比Struts2
优点:业务代码解耦,提高开发效率。提供了对MVC的一个清晰的实现,这一实现包含了很多参与对所以请求进行处理的关键组件,如:拦截器、OGNL表达式语言、堆栈。
缺点:执行效率偏低,需要使用反射、解析XML等技术手段,结构复杂。
3. Struts2和SpringMVC
相同:spring依赖注入(DI)来管理各层的组件,都是使用AOP切面编程 来管理事务,日志,权限等。
不同:1.Struts2 和 SpringMVC 控制视图和模型的交互机制不同
2.Strtus2是Action类级别,SpringMVC是方法级别,更容易实现RESTful风格。
要进行SSH的开发, 要对以下知识要熟悉:
Struts2 教程:
4.Struts2的短处:
Struts2中Action中取得从jsp中传过来的参数时还是有点麻烦。可以为Struts2的Action中的属性配置上Getter和Setter方法,通过默认拦截器,就可以将请求参数设置到这些属性中。如果用这种方式,当请求参数很多时,Action类就会被这些表单属性弄的很臃肿,让人感觉会很乱。
Struts2曝出2个高危安全漏洞,一个是使用缩写的导航参数前缀时的远程代码执行漏洞,另一个是使用缩写的重定向参数前缀时的开放式重定向漏洞,使用的时候要慎重。