Servlet学习的两个案例之网站访问次数的统计

一、统计次数的Servlet源码
package com.shanrengo;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 用戶訪問countServlet,訪問次數+1
 * 1.在countServlet初始化的時候,向ServletContext中保存一個訪問次數0
 * @author Administrator
 *
 */
public class CountServlet extends HttpServlet {

	@Override
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		//向ServletContext保存訪問次數0
		//ServletContext 中setAttribute方法
		//1.獲得servletContext對象
		ServletContext context = getServletContext();
		//2.保存數據
		context.setAttribute("visitTimes", 0);

	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//每次訪問都會執行doGet
		//1.從servletContext中獲得visitTimes
		ServletContext context = getServletContext();
		int times = (Integer) context.getAttribute("visitTimes");
		//2.將visitTimes++
		times++;
		//3.更新
		context.setAttribute("visitTimes", times);
		System.out.println("網站被訪問了一次!");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

二、显示统计次数的servlet源码

package com.shanrengo;

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 CountShowServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		ServletContext context = getServletContext();
		int times = (Integer) context.getAttribute("visitTimes");

		response.getWriter().println(times);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

  

注:我是初学者,发表博客只是学习笔记,欢迎探讨指教,希望可以结实良师益友。

Servlet学习的两个案例之网站访问次数的统计

时间: 2024-08-09 15:01:17

Servlet学习的两个案例之网站访问次数的统计的相关文章

JSP:用隐式对象统计网站访问次数

JSP:用隐式对象统计网站访问次数 jsp 隐式对象 赵振江 隐式对象 application对象 利用隐式对象为某一网站编写一个JSP程序,统计该网站的访问次数. 一种情况是:按照客户进行统计(按照浏览器进行统计,一个浏览器如果访问网站的话,就算一次访问,换句话说如果这个浏览器刷新多次网站的话,也算是一次访问): 另一种情况:刷新一次页面,就算是一次访问. 要求用隐式对象去实现. counter.jsp <%@ page language="java" import="

Javascript 学习笔记 匀速运动——应用案例:网站常用功能分享到

网站上会经常用到Javascript 中的运动,这次与大家分享一下一些运动的基本应用 . 方便大家在开发中能够直接使用. 代码简单易懂,适用于初学者.最后会一步一步整理出一套自己的运动框架. 应用案例效果图: 鼠标移动到分享上 ,左边的div就会显示出来.移开会自己恢复.相信这个大家都会用到 很实用,下面看看代码是如何实现的. <style type="text/css"> #div1 { width: 150px; height: 200px; background: g

jsp网站访问次数统计的几种方法

我采用的是jsp网页,但是不管采用什么语言,原理是一样的. 第一种,单页面统计.就是说,只要点击这个页面就会统计一次. <body> <%!//在这种标记中定义的变量为全局变量 int count=0; synchronized void count(){ count++; } %> <% count(); out.println("这是第"+count+"个访问者!"); %> </body> 第二种,是利用jsp的

JavaScript实现网站访问次数统计代码

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 <script type="text/javascript"> var caution=f

简单的JSt统计静态网站访问次数

最简单的静态页面刷新 1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 4 <title>New Page 5</title> 5 <meta name="GENERATOR" content="Microsoft FrontPage 3.0&q

Servlet学习(三)Servlet编程实例-网站登录(修改版-增加数据库-附源码)

我们为刚才的那个示例Servlet学习(二)Servlet编程实例-网站登录添加上数据库,组成一个较为完整的登录功能. 在开始之前我们得首先了解下一些常用的java术语: PO(persistant object) 持久对象 在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了. 通常对应数据模型(数据库),本身还有部分业务逻辑的处理. 可以看成是与数据库中的表相映射的java对象. 最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合. PO中应该不包含

SERVLET 学习笔记

SERVLET 学习笔记 一.Servlet基本定义 Servlet是服务器端上面运行的一段小的java程序,一个servlet就是一个简答的java类.通常servlet都是通过请求和返回的模式来被访问的,客户端通过resuest请求,servlet则通过response来返回需要的内容. 二.Tomcat容器等级 Tomcat容器等级分为四个等级,由内向外分别是:context容器àSERVLET容器àHOST(主机)容器àENGINE(引擎)容器.其中,CONTEXT容器,一个CONTEX

Servlet学习(2)

1.Servlet的生命的周   (1)当浏览器第一次访问Servlet时,服务器会根据浏览器访问的路径,在web.xml文件中找到该Servlet的全路径,然后利用反射去调用方法. (2)调用init()为Servlet作初始化工作 (3)调用doXxxxx()为浏览器响应 (4)如果浏览器再次访问相同的Servlet,直实现从服务端维护的Servlet实例集合中取得对应的实现,为浏览器响应 (5)同一个Servlet实例,在服务端只有一个 (6)服务器在决定销毁Servlet实例之前,调用d

Servlet学习笔记(七)—— JSP概述

1.Servlet两个缺陷: ①所有HTML标签必须包在Java字符串中,使得发送HTTP响应十分繁琐: ②所有文本和HTML标签都必须进行硬编码,即使对表示层做极其微小的修改,也需要重新编译. 2.注释: (1)JSP备注:<% %>,不会发送到浏览器,不能嵌套 (2)HTML备注:<!-- -->,不被容器处理,直接发送到浏览器,用途之一是标识JSP页面.在处理带有许多JSP片段的应用程序时,开发者通过查看HTML源代码,可以轻松查出某个HTML代码部分生成了那个JSP页面.