使用ServletContext对象统计网站的访问量
来源:互联网 发布:可以看亚丝娜本子软件 编辑:程序博客网 时间:2024/04/30 20:43
- 功能
实现访问网站总人数的记录,以及基于某一特定起点的访问记录。
方案由于网站中的资源较多,要想保留每一次的访问计数则需要一个从应用已启动就存在的空间,并且应用中的所有资源都能访问到这个存储空间,所有使用ServletContext及Servlet上下文对象保存每一次的访问计数。
步骤Step1:新建Context01Servlet.java和Context02Servlet.java文件
两个文件内容一致,获取上下文对象后判断是否是第一次访问,是第一次则初始值为1,不是则增加1.1234567891011121314151617181920212223242526272829303132333435<code
class
=
"hljs java"
>
package
web;
import
java.io.IOException;
import
java.io.PrintWriter;
import
javax.servlet.ServletContext;
import
javax.servlet.ServletException;
import
javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
public
class
Context01Servlet
extends
HttpServlet{
@Override
protected
void
service(HttpServletRequest request,
HttpServletResponse response)
throws
ServletException,IOException{
//保证正确读取Post提交来的中文
request.setCharacterEncoding(
"utf-8"
);
//保证正确输出中文
response.setContentType(
"text/html;charset=utf-8"
);
//获取输出流对象,并输出信息
PrintWriter out=response.getWriter();
//获取全局的上下文对象
ServletContext context=getServletContext();
Object count=context.getAttribute(
"count"
);
if
(count==
null
){
context.setAttribute(
"count"
, context.getInitParameter(
"count"
));
//context.setAttribute("count", 1);
}
else
{
context.setAttribute(
"count"
, Integer.parseInt(count.toString())+
1
);
}
out.print(
"总浏览量为:"
+context.getAttribute(
"count"
));
}
}
</code>
Step2 : 配置web.xml
123456789101112131415161718192021222324252627282930<code
class
=
"hljs java"
><code
class
=
"hljs xml"
><!--?xml version=
"1.0"
encoding=
"UTF-8"
?-->
<web-app version=
"3.0"
xmlns=
"http://java.sun.com/xml/ns/javaee"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemalocation="http://java.sun.com/xml/ns/javaee
http:
//java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Servlet上下文 -->
<context-param>
<param-name>count</param-name>
<param-value>
1000
</param-value>
</context-param>
<servlet>
<servlet-name>context01Servlet</servlet-name>
<servlet-
class
>web.Context01Servlet</servlet-
class
>
</servlet>
<servlet-mapping>
<servlet-name>context01Servlet</servlet-name>
<url-pattern>/context01</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>context02Servlet</servlet-name>
<servlet-
class
>web.Context02Servlet</servlet-
class
>
</servlet>
<servlet-mapping>
<servlet-name>context02Servlet</servlet-name>
<url-pattern>/context02</url-pattern>
</servlet-mapping>
</web-app>
</code></code>
step3: 部署运行
0 0
- 使用ServletContext对象统计网站的访问量
- 使用ServletContext对象统计网站的访问量
- ServletContext && ServletContextListen 的用法案例-->统计网站访问量
- 网站访问量的统计
- 利用ServletContext实现页面访问量的统计
- 页面访问量和网站访问量的统计
- ServletContext容器,网站访问量
- 统计网站当天的访问量
- 网站访问量的统计方式
- 统计网站页面的访问量
- 上下文ServletContext的使用,记录网站的登录人数统计
- mysql统计网站每天的访问量
- 统计网站访问量的小例子
- java jsp实现网站访问量的统计
- 通过COOKIE统计网站的访问量
- 网站访问量统计实现.
- dwr 统计网站访问量
- 网站访问量统计
- mysql数据库基础知识
- 建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中
- R-CNN 简单梳理
- SpringMVC 之 后台接收参数 与前台传递数据
- OC 跳出多层for循环嵌套 goto
- 使用ServletContext对象统计网站的访问量
- Android中getSystemService流程
- TextView之SpannableStringBuilder使用总结
- 2016.11.05 第一篇博客
- Mongodb 忘记密码
- 反向传播算法的直观理解
- js正则笔记
- Glide源码解析
- 【Oracle】流程控制