快速业务通道

JBuilder2005 Servlet开发之自启动 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04
let,由于是Web开始服务的基础必须在顺序1初化,所以我们开发的Servlet最好在顺序2或顺序3初始化。Servlet初始化时,init()方法被调用。在进行这样的设置后web.xml将包含以下粗体所示的配置信息。

代码清单 1 web.xml有关UserCacheServlet的描述信息

1. <web-app> 2.  … 3.  <servlet> 4.   <servlet-name>usercacheservlet</servlet-name> 5.   <servlet-class>bookstore.servlet.UserCacheServlet</servlet-class> 6.   <load-on-startup>2</load-on-startup> 7.  </servlet> 8. <servlet-mapping> 9.  <servlet-name>usercacheservlet</servlet-name> 10.  <url-pattern>/usercacheservlet</url-pattern> 11. </servlet-mapping> 12. … 13. </web-app>

注意:

当删除UserCacheServlet后,Servlet在web.xml所对应的部署描述信息并不会一起删除,你必须手工删除。

在init()初始化方法中利用UserList.fillUser()方法从数据库中下载并缓存用户记录信息,在doGet()方法中也引用了UserList.fillUser(),用户通过URL访问UserCacheServlet时,doGet()方法被调用,刷新缓存用户数据,并显示"刷新成功"提示,其代码如下所示:

代码清单 2 UserCacheServlet.Java

1. package bookstore.servlet; 2. 3. import javax.servlet.*; 4. import javax.servlet.http.*; 5. import java.io.*; 6. import bookstore.UserList; 7. 8. public class UserCacheServlet 9. extends HttpServlet 10. { 11.  private static final String CONTENT_TYPE = "text/html; charset=GBK"; 12. 13.  //Initialize global variables 14.  public void init() 15.  throws ServletException 16.  { 17.   UserList.fillUser();//Web容器启动后调用 18.  } 19. 20.  //Process the HTTP Get request 21.  public void doGet(HttpServletRequest request, HttpServletResponse response) 22. throws ServletException, IOException 23. { 24.  UserList.fillUser();//刷新用户数据 25.  response.setContentType(CONTENT_TYPE); 26.  PrintWriter out = response.getWriter(); 27.  out.println("<html>"); 28.  out.println("<head><title>UserCacheServlet</title></head>"); 29.  out.println("<body bgcolor=\"#ffffff\">"); 30.  out.println("刷新成功!"); 31.  out.println("</body>"); 32.  out.println("</html>"); 33.  out.close(); 34. }

JBuilder2005 Servlet开发之自启动(4)

时间:2010-03-27 陈雄华

当然,我们要对《JBuilder 2005实战JSP开发》专题中创建的UserList.java代码进行更改,定义fillUser()方法以供UserCacheServlet.java调用,此外,还需要调整原getUserListHTML()方法,如下所示:

代码清单 3 调整后的UserList.java代码

2. package bookstore; 3. 4. import java.sql.*; 5. import java.util.*; 6. 7. public class UserList 8. { 9.  private static Map userMap;//用户ID和用户名的Map 10.  //将用户数据缓存到Map中 11.  public static void fillUser() 12.  { 13.   if (userMap == null) 14.   { 15.    userMap = new HashMap(); 16.   } else 17.   { 18.    userMap.clear(); 19.   } 20.   Connection conn = null; 21.   StringBuffer sBuf = new StringBuffer(); 22.   try 23.   { 24.    conn = DBConnection.getConnection(); 25.   PreparedStatement pStat = conn.pr

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号