你们怎么在web应用里处理预加载的资源?如果用struts2呢?

你们怎么在web应用里处理预加载的资源?如果用struts2呢?

问题描述:

这几日在看struts2的东西,原先是写一个initservlet,把预加载处理写在init方法里,然后在web.xml里设置load startup
不知道大家是怎么处理这个东西的?struts2有更便捷优雅的处理方式么?
[b]问题补充:[/b]
看了下servletContextListener,应该是完全可以满足要求了

但是又不知道和struts2的拦截器相比哪个好些?

比如权限认证,用Filter或者拦截器都可以,因为它们都可以拦截所有指定的请求,但是用ServletContextListener就开玩笑了。
再比如Spring环境的加载,用ServletContextListener很好,老的版本用Servlet是因为那个时候还没有ServletContextListener,要是用Filter或者拦截器,每次请求都重新加载spring的所有bean,又开玩笑了。

1.可以让为你的Action建立一个无参构造函数进行初始化
2.使用拦截器

没什么好办法,一般还是用ServletContextListener实现预加载

也就是在web.xml里面加一个listener

办法还是差不多,就是一个ServletContextListener来实现预加载。
如果你用struts2的话,拦截器倒是不错的选择。
我是用拦截器来实现权限认证和日志记录的,这样的方法看起来是挺舒服的。

web.xml配置

alibabaManage
src.com.willpower.servlet.alibabaManage
1


alibabaManage
/alibabaManage

不知道这样能帮到你不

火星说的对,用ServletContextListener

拦截器不是干这个的,它和过滤器Filter差不多,只是能访问struts2的值栈。每次执行请求,过滤器都要被执行。ServletContextListener则只在整个web上下文初始化的时候执行,所以非常适合你说的预加载。