WebApplicationContext,ServletContext 可以理解为web容器的一个内存空间,想一下,我们拿它能做什么事情.
曾经,我这样干过
1.
HttpSession session = request.getSession(true); ServletContext contextPage = session.getServletContext(); if (contextPage.getAttribute("page_"+p) == null) { w3csTPage = (W3csTPage) w3csTPageDAO.findByPageName(p).get(0); contextPage.setAttribute("page_"+p, w3csTPage); }else{ w3csTPage = (W3csTPage) contextPage.getAttribute("page_"+p); }
如果内存中有页面,直接访问,没有的话再去数据库中查. 可能会增加点效率吧
2.结合spring的可以用来做开机启动,初始化一些
<bean id="foo" class="com.sunlava.service.Foo" init-mothod="start" destory-mothod="clean"/>
我们在start方法中 将一些系统角色信息,放进来.
List<Role> rolesList = rolesXML.getElement(path); servletContext.setAttribute("cache_roles", rolesList);
也可以在start方法中,将一些常用的bean放进去, 然后servletContext 取,修改, 存 (bean里可能有一些全局变量,这些全局变量,经常被改变,又经常被读取, 比如:全站的浏览量, [如果全站的浏览量要存库,我们可以设定全局变量没增加10ip或100ip进行存库处理.])哈哈 扯远了
3. 暂时没想到,回头想到了 加
其实我想说的是,在我们学习到的有限技术上,发挥自己想象力,让技术真正为现实业务服务.
大家在学习的同事,多想想, 拿我们学到的东西,能做什么, 想完后,就尽量的去试着做一下,会有成就感的