Servlet笔记——(2.4.5)ServletContext获取访问量编程练习
来源:互联网 发布:宜兴俊知集团 编辑:程序博客网 时间:2024/06/09 00:23
需求:你一定见过很多访问量统计的网站,即“你是第XXX个访问本网站的”。因为无论是哪个用户访问指定页面,都会累计访问量。所以这个访问量统计应该是整个项目共享的。很明显需要使用ServletContext来保存访问量。
一个Web项目中所有的资源被访问都要对访问量进行累加。创建一个int类型的变量,用来保存访问量,然后把它保存到SevletContext域中,这样就保证了所有的Servlet都可以访问到它。
(1) 最开始,ServletContext中没有保存访问量相关的属性;
(2) 本站第一次被访问时,创建一个变量设初值为1,保存到SevletContext域中;
(3) 以后再访问本站,就可以从ServletContext中获取这个变量,然后在其基础上加1;
(4) 获取ServletContext对象,查看是否存在名为count的属性,如果存在,说明不是第一次访问;如果不存在,说明是第一次访问:
(4.1) 第一次访问:调用ServletContext的setAttribute()传递一个属性,名为count值为1;
(4.2) 第2~n次访问:调用ServletContext的getAttribute()方法获取访问量count,给count加1,然后调用setAttribute()方法重新赋值。
public class HelloServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {ServletContext application = this.getServletContext();Integer count = (Integer) application.getAttribute("count");if (count == null) {count = 1;} else {count++;}response.setContentType("text/html;charset=utf-8");response.getWriter().print("<h1>您是第 " + count + " 个访问者</h1>");application.setAttribute("count", count);}}
阅读全文
0 0
- Servlet笔记——(2.4.5)ServletContext获取访问量编程练习
- Servlet笔记——(2.4) ServletContext(重要)
- Servlet学习笔记—ServletContext对象
- Servlet学习笔记—ServletContext的详解
- Servlet——ServletContext
- Servlet—ServletConfig、ServletContext
- Servlet 获取ServletContext对象
- 笔记之servlet的ServletContext对象(ServletContext的应用)
- Servlet——ServletContext 对象
- Servlet——ServletContext 对象
- servlet学习笔记---servletContext
- Servlet 笔记( 二 ServletContext)
- Servlet学习笔记--统计网站的访问量(jsp/servlet)
- 《Java Servlet编程》笔记(获取信息)
- web编程——Servlet基础练习
- Servlet中获取ServletContext(jsp中application)
- Servlet获取配置信息(ServletConfig)和ServletContext
- 20160410servlet学习笔记servletContext
- PHP文件操作
- kubernetes 调度控制原理
- maven配置文件pom.xml详解
- 求一个集合的所有子集 输出一个数所有平方和的情况 背包问题的递归解决
- (年薪30万)响应式 img自适应
- Servlet笔记——(2.4.5)ServletContext获取访问量编程练习
- Windows下面安装和配置MySQL(5.6.20) 绿色版本
- 如何实现IO的底层原理问题?
- Node.js基本使用和语法
- 标注绘制线路时如何移动地图?
- Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别
- initrd(ramdisk)的内核处理流程
- Post和Get的区别?
- 快速搭建Spring boot CRUD-HelloWorld程序