Spring MVC框架怎么在应用启动时就初始化一个全局对象? 10
类似向JSP的application对象添加一个属性对象?
在spring框架下怎么写 展开
1、启动容器(tomcat)对于web.xml的加载过程是context-param >> listener >> fileter >> servlet
2、你写一个listener然后初始化你想要的参数
3、服务器启动时,ServletContextListener 的 contextInitialized()方法被调用,所以在里面创建好缓存。
4、可以从文件中或者从数据库中读取取缓存内容生成类,用 ervletContext.setAttribute()方法将缓存类保存在 ServletContext 的实例中。
5、程序使用 ServletContext.getAttribute()读取缓存。
6、如果是 JSP,使用a pplication.getAttribute()。
7、如果是 Servlet,使用 getServletContext().getAttribute()。如果缓存发生变化(如访问计数),你可以同时更改缓存和文件/数据库。
8、或者你等 变化积累到一定程序再保存,也可以在下一步保存。
9、服务器将要关闭时,ServletContextListener 的 contextDestroyed()方法被调用,所以在里面保存缓存的更改。
10、将更改后的缓存保存回文件或者数据库,更新原来的内容。
你写一个listener然后初始化你想要的参数
参考->ServletContextListener
这说的是spring框架?我需要一个所有访问都共用的一个对象,该怎么做呀?
这个是servlet额。你百度一下ServletContextListener怎么使用就可以了
服务器启动时,ServletContextListener 的 contextInitialized()方法被调用,所以在里面创建好缓存。可以从文件中或者从数据库中读取取缓存内容生成类,用 ervletContext.setAttribute()方法将缓存类保存在 ServletContext 的实例中。
程序使用 ServletContext.getAttribute()读取缓存。如果是 JSP,使用a pplication.getAttribute()。如果是 Servlet,使用 getServletContext().getAttribute()。如果缓存发生变化(如访问计数),你可以同时更改缓存和文件/数据库。或者你等 变化积累到一定程序再保存,也可以在下一步保存。
服务器将要关闭时,ServletContextListener 的 contextDestroyed()方法被调用,所以在里面保存缓存的更改。将更改后的缓存保存回文件或者数据库,更新原来的内容。