你的位置:首页 > Java教程

[Java教程]struts2总结


Struts2 总结

1.控制器采用的是 Filter 这个服务器端组件,相比于 Servlet ,Servlet 能获取到的资源,Filter 也同样能获取到,不同的是 Filter 生命周期初始化和 Servlet 有所区别。

2.Struts2 使用 Filter 和 Interceptors 完成了表述层要解决的常见问题,如异常处理,防止表单重复提交,文件上传下载,类型转换,国际化等。

而自定义的拦截器又为其他问题进行了扩展。

3.Struts2 使用 ValueStack 和 ModelDriven 使开发更加便捷。

ValueStack 可以看成是 Struts2 的一个容器,也可以看成是 表述层的一个容器。

结合 OGNL 表达式和 Struts2 标签,可以在页面中获取到任何想获取到的资源,比如域对象中的信息,请求参数,Web资源等,错误信息等。

而 ModelDriven 为请求参数提供了一种基于对象的注入,使开发更加便捷。

4.每一个 Struts2 请求会对应一个 ValueStack(它存在于整个 Action 生命周期内,在 Struts2 请求接受到请求的时候创建,随请求的结束而结束),对应一个

Action 对象,对应一个 action(实际处理请求的方法) 请求,保证了线程之间的安全性,但是也极大的消耗了服务器资源。

5.Struts2 是这样运行的:

在 Web 应用启动时,执行了 Struts2 的核心 Filter(StrutsPrepareAndExecuteFilter) 的初始化方法