Struts2就是一个框架,它是属于web层的一个框架,是Struts1的一个升级版,但是它和Struts1来相比,提供了太多的增强和改进,怎么运行的呢,就是实现了Servlet的功能,来进行控制页面跳转。
同时这也是基于MVC设计模式的Web应用框架,Struts2的控制功能就相当于MVC中的Controller的功能,用来控制页面的转向。
为什么说Struts2实现了Servlet的功能?
因为Struts2可以理解为下图,这里介绍了前端控制器模型,形象的体现了Struts2实现了Servlet的功能
在这里插入图片描述
Struts2的优缺点
优点
实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现。
丰富的标签库,大大提高了开发的效率。
Struts2提供丰富的拦截器实现。
通过配置文件,就可以掌握整个系统各个部分之间的关系。
异常处理机制,只需在配置文件中配置异常的映射,即可对异常做相应的处理。
Struts2的可扩展性高。
面向切面编程的思想在Strut2中也有了很好的体现。
缺点
Struts2中Action中取得从jsp中传过来的参数时还是有点麻烦。
校验还是感觉比较繁琐,感觉太烦乱,也太细化了,如果校验出错的只能给用户提示一些信息。
安全性有待提高。
优缺点来自这里
拦截器和过滤器
过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西。定义这些要求的工具,就是过滤器。
拦截器(Interceptor):在一个流程正在进行的时候,你希望干预它的进展,甚至终止它进行,这是拦截器做的事情。
这里不做详细介绍,百度一下
Struts执行流程图