Servlet实现统计页面访问次数功能
短信预约 -IT技能 免费直播动态提醒
本文实例为大家分享了Servlet实现统计页面访问次数的具体代码,供大家参考,具体内容如下
实现思路:
1.新建一个CallServlet类继承HttpServlet,重写doGet()和doPost()方法;
2.在doPost方法中调用doGet()方法,在doGet()方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使得访问次数times加1;
3.获取ServletContext,通过它的功能记住上一次访问后的次数。
在web.xml中进行路由配置:
<!-- 页面访问次数 -->
<servlet>
<servlet-name>call</servlet-name>
//CallServlet为处理前后端交互的后端类
<servlet-class>CallServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>call</servlet-name>
<url-pattern>/call</url-pattern>
</servlet-mapping>
CallServlet类:
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
//获得网站被访问的次数
public class CallServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
ServletContext context = getServletContext();
Integer times = (Integer) context.getAttribute("times");
if (times == null) {
times = new Integer(1);
} else {
times = new Integer(times.intValue() + 1);
}
PrintWriter out= resp.getWriter();
out.println("<html><head><title>");
out.println("页面访问统计");
out.println("</title></head><body>");
out.println("当前页面被访问了");
out.println("<font color=red size=20>"+times+"</font>次");
context.setAttribute("times",times);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
}
}
前端展示结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341