在web中,当办事器启动时会为每一个web建立一个ServletContext对象,而web下的所有Servlet的共享这个ServletContext。所有Servlet之间可以操纵ServletContext实现数据的共享。下面是炳同窗带来的统计拜候次数的简单图文记实。
1获取应用全局初始化参数
起首建立一个CountContext类让它担当HttpServlet。重写init、doGet和doPost三个方式。
然后我们在web.xml在设置装备摆设CountContext和它的映射。
在CountContext的init方式中,我们经由过程getServletContext()方式获得ServletContext对象.然后该对象挪用setAtrribute("键","值");方式存入键和值。
context.setAttribute("count", 0);
因为我们的目标是要统计拜候CountContext这个Servlet的次数,所以初始值从0起头。
接下来因为每一次拜候城市挪用doGet()或者doPost()来办事。
所以我们在doGet方式中完当作:因为执行doGet就代表拜候了一次,所以我们掏出ServletContext中的count值,然后加1后再存入ServletContext中.
如许就完当作了统计拜候次数的营业逻辑。
后面的话可以按照你的需要标的目的页面输出一些内容。
因为营业逻辑一样,在doPost方式中的直接挪用doGet方式就可以了,如许简化代码。
然后我们再建立一个ShowServlet类,让它担当HttpServlet。重写doGet和doPost方式。
在web.xml下添加ShowServlet的设置装备摆设信息。
然后在ShowServlet的doGet方式中掏出CountContext中存入到ServletContext域对象中的count。
再通用response标的目的页面显示出来就可以了。
同样在doPost中挪用doGet方式。
完当作之后, 启动办事器,先拜候CountContext,再拜候ShowServlet
可以看到ShowServlet当作功统计到拜候Countext的次数。
其实统计拜候数据在一个Servlet中就可以完当作,这个利用两个Servlet来完当作本家儿要想让大师看到:一个Serlvet中经由过程ServletContext的setAttribute存入数据,而在另一个可以经由过程ServletContext的getAttribute方式掏出数据。
也就是说分歧的Servlet可以经由过程ServletContext域对象完当作数据共享。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!