Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16493584
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:45:00

下载本文示例代码
  Servlet和JSP的一个重大的区别即是Servlet可以通过web.xml文件的配置让Servlet在Web容器启动时就自动启动Servlet。可以利用Servlet的这个特性不变化的数据事先加载到Web应用服务器中以便缓存使用。  假设,我们系统的用户在系统部署前就已经创建好,以后不常发生变化,那么我们可以在Web应用程序启动时就将其下载缓存到Web应用服务器内存中,如果用户发生变化可以手工调用这个Servlet进行刷新。下面我们就通过Servlet向导创建这个UserCacheServlet,它在Web容器启动时自动下载并缓存系统所有用户Id和用户名:  1.启动创建Servlet向导,填写Servlet名字  通过File->New...->Web->双击Standard Servlet图标启动创建Servlet向导的第一步,如下图所示: 图 2填写Servlet名字  在Class name中填入Servlet的名字:UserCacheServlet,在Package中填入bookstore.servlet作为包名。按Next到下一步。  2.选择Servlet所要实现的方法。  我们在前面已经介绍了Servlet通过不同的doXxx()方法的响应HTTP请求方式,你可以在向导的第2步选择需要定义哪些doXxx()方法。默认情况下doGet()方法被勾选,即通过HTTP GET请求方式访问Servlet。通过带参的URL访问Servlet时,Servlet就用doGet()方法响应这个请求。由于我们只是假设用户数据不常变动,并不是说永远不变动,所以我们在Web容器初始化时,希望通过UserCacheServlet自动加载用户数据到缓存中,当数据库表T_USER的用户数据发生变动时,我们可以手工调用UserCacheServlet,让其刷新缓存中的用户数据。  Web容器启动时自动初始化UserCacheServlet,此时init()方法被调用,我们可以通过init()方法加载用户数据,当用户通过URL请求刷新用户数据时,UserCacheServlet通过doGet()方法响应这个HTTP GET请求。也就是说,我们需要实现doGet()方法,所以我们接受向导的默认设置,如下图所示: 图 3 选择需要覆盖的Servlet响应方法  按Next跳过第3步到向导的第4步。  3.指定访问Servlet的路径 图 4 指定Servlet访问路径  ·Name:usercacheservlet,Servlet在web.xml配置文件中所取的名字  ·URL pattern:/usercacheservlet,访问这个Servlet的匹配路径。指定这个访问路径后,假设Web应用程序部署在下,则通过/usercacheservlet访问servlet。  直接按Finish创建Servlet。  打开web.xml文件,你可以找到关于UserCacheServlet声明和访问的部署描述信息:   ·<servlet>节点:描述servlet的名字及类名。  ·<servlet-mapping>节点:描述servlet访问匹配路径。  双击工程窗格资源树的webModule节点,JBuilder在内容窗格中打开用于编辑web.xml文件的Web模块DD编辑器(Web Module DD editor),此时结构窗格显示出web.xml文件的结构,如下图所示: 图 5 结构窗格的web.xml文件结构树  带 图标的节点表示已经有配置内容,而未带 图标的节点表示暂时还没有对应的配置内容。我们展开Servlets节点,定位到usercacheservlet并双击这个节点,DD编辑器调整界面对usercacheservlet这个Servlet进行配置,如下图所示: 图 6 DD编辑器  Servlet可以在Web容器启动时,自动初始化。假设有多个Servlet都需要自动初始化,则可以通过web.xml的<load-on-startup>设置启动的次序。我们在DD编辑器将Load on startup值设为2, 这样UserCacheServlet将在Web容器启动后,排在顺序2初始化。  一些系统所用的Servlet,由于是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所对应的部署描述信息并不会一起删除,你必须手工删除。共2页。 1 2 8 :   Servlet和JSP的一个重大的区别即是Servlet可以通过web.xml文件的配置让Servlet在Web容器启动时就自动启动Servlet。可以利用Servlet的这个特性不变化的数据事先加载到Web应用服务器中以便缓存使用。  假设,我们系统的用户在系统部署前就已经创建好,以后不常发生变化,那么我们可以在Web应用程序启动时就将其下载缓存到Web应用服务器内存中,如果用户发生变化可以手工调用这个Servlet进行刷新。下面我们就通过Servlet向导创建这个UserCacheServlet,它在Web容器启动时自动下载并缓存系统所有用户Id和用户名:  1.启动创建Servlet向导,填写Servlet名字  通过File->New...->Web->双击Standard Servlet图标启动创建Servlet向导的第一步,如下图所示: 图 2填写Servlet名字  在Class name中填入Servlet的名字:UserCacheServlet,在Package中填入bookstore.servlet作为包名。按Next到下一步。  2.选择Servlet所要实现的方法。  我们在前面已经介绍了Servlet通过不同的doXxx()方法的响应HTTP请求方式,你可以在向导的第2步选择需要定义哪些doXxx()方法。默认情况下doGet()方法被勾选,即通过HTTP GET请求方式访问Servlet。通过带参的URL访问Servlet时,Servlet就用doGet()方法响应这个请求。由于我们只是假设用户数据不常变动,并不是说永远不变动,所以我们在Web容器初始化时,希望通过UserCacheServlet自动加载用户数据到缓存中,当数据库表T_USER的用户数据发生变动时,我们可以手工调用UserCacheServlet,让其刷新缓存中的用户数据。  Web容器启动时自动初始化UserCacheServlet,此时init()方法被调用,我们可以通过init()方法加载用户数据,当用户通过URL请求刷新用户数据时,UserCacheServlet通过doGet()方法响应这个HTTP GET请求。也就是说,我们需要实现doGet()方法,所以我们接受向导的默认设置,如下图所示: 图 3 选择需要覆盖的Servlet响应方法  按Next跳过第3步到向导的第4步。  3.指定访问Servlet的路径 图 4 指定Servlet访问路径  ·Name:usercacheservlet,Servlet在web.xml配置文件中所取的名字  ·URL pattern:/usercacheservlet,访问这个Servlet的匹配路径。指定这个访问路径后,假设Web应用程序部署在下,则通过/usercacheservlet访问servlet。  直接按Finish创建Servlet。  打开web.xml文件,你可以找到关于UserCacheServlet声明和访问的部署描述信息:   ·<servlet>节点:描述servlet的名字及类名。  ·<servlet-mapping>节点:描述servlet访问匹配路径。  双击工程窗格资源树的webModule节点,JBuilder在内容窗格中打开用于编辑web.xml文件的Web模块DD编辑器(Web Module DD editor),此时结构窗格显示出web.xml文件的结构,如下图所示: 图 5 结构窗格的web.xml文件结构树  带 图标的节点表示已经有配置内容,而未带 图标的节点表示暂时还没有对应的配置内容。我们展开Servlets节点,定位到usercacheservlet并双击这个节点,DD编辑器调整界面对usercacheservlet这个Servlet进行配置,如下图所示: 图 6 DD编辑器  Servlet可以在Web容器启动时,自动初始化。假设有多个Servlet都需要自动初始化,则可以通过web.xml的<load-on-startup>设置启动的次序。我们在DD编辑器将Load on startup值设为2, 这样UserCacheServlet将在Web容器启动后,排在顺序2初始化。  一些系统所用的Servlet,由于是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所对应的部署描述信息并不会一起删除,你必须手工删除。共2页。 1 2 8 : 下载本文示例代码


JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动JBuilder2005 Servlet开发之自启动
阅读(177) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~