名扬数据:让我们一起来谈谈user cache Servlet

Servlet和JSP一个重大的区别即是Servlet可以通过web.xml文件的配置让ServletWeb容器启动时就自动启动Servlet可以利用Servlet这个特性不变化的数据事先加载到Web应用服务器中以便缓存使用。

系统的用户在系统布置前就已经创建好,假设以后不常发生变化,那么我可以在Web应用顺序启动时就将其下载缓存到Web应用服务器内存中,如果用户发生变化可以手工调用这个Servlet进行刷新。下面我就通过Servlet向导创建这个usercachServletWeb容器启动时自动下载并缓存系统所有用户Id和用户名:填写Servlet名字1.启动创建Servlet向导。

可以通过init方法加载用户数据,Web容器启动时自动初始化usercachServlet此时init方法被调用。当用户通过URL请求刷新用户数据时,usercachServlet通过doGet方法响应这个HTTPGET请求。也就是说,需要实现doGet方法,所以我接受向导的默认设置,默认情况下doGet方法被勾选,前面已经介绍了Servlet通过不同的doXxx方法的响应 HTTP请求方式。即通过HTTPGET请求方式访问Servlet通过带参的URL访问Servlet时,Servlet就用doGet方法响应这个请求。由于我只是假设用户数据不常变动,并不是说永远不变动,所以我Web容器初始化时,希望通过usercachServlet自动加载用户数据到缓存中,当数据库表T_USER用户数据发生变化时,可以手工调用usercachServlet让其刷新缓存中的用户数据。

JBuilder内容窗格中打开用于编辑web.xml文件的Web模块DD编辑器(WebModulDDeditor此时结构窗格显示出web.xml文件的结构双击工程窗格资源树的webModul节点。doGet方法中也引用了UserList.filUser用户通过URL访问usercachServlet时,init初始化方法中利用UserList.filUser方法从数据库中下载并缓存用户记录信息。doGet方法被调用,刷新缓存用户数据,并显示"刷新胜利"提示,其代码如下所示:

<web-app> 

 

<servlet> 

<servlet-nam>usercacheservlet</servlet-nam> 

<servlet-class>bookstore.servlet.UserCacheServlet</servlet-class> 

<load-on-startup>2</load-on-startup> 

</servlet> 

<servlet-map> 

<servlet-nam>usercacheservlet</servlet-nam> 

<url-pattern>/usercacheservlet</url-pattern> 

</servlet-map>