SSH实现简单的网站访问人数的统计

首先复写一个Session的监听器,对新创建的session进行监听。

ApplicationListener.java

package dsh.bikegis.listener;

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

import dsh.bikegis.dao.AccessPeopleDao;
import dsh.bikegis.tool.SpringBeanFactory;

/**
 * 統計網站訪問人數
 * 
 * @author NanGuoCan
 * 
 */
public class ApplicationListener implements HttpSessionListener {

	/**
	 * 把歷史訪問人數讀取出來,並且把已經加1的訪問人數存入數據庫中
	 */
	public void sessionCreated(HttpSessionEvent se) {
		AccessPeopleDao apd = (AccessPeopleDao) SpringBeanFactory
				.getBean("apd");
		int count;
		count = Integer.parseInt(apd.getNum());// 從數據庫中讀取歷史訪問人數
		++count;// 訪問人數加1
		apd.updateNum(Integer.toString(count));// 寫入到數據庫
		se.getSession().setAttribute("count", count);
	}

	/**
	 * Session Destroyed
	 */
	public void sessionDestroyed(HttpSessionEvent se) {

	}

}

 配置web.xml文件(此文件要配置在Spring监听器文件之后,否则可能造成空指针异常)

<listener>
		<listener-class>
		dsh.bikegis.listener.ApplicationListener
		</listener-class>
	</listener>

 一个工具类,用来获得Spring注入的bean

SpringBeanFactory .java

package dsh.bikegis.tool;

import org.apache.struts2.ServletActionContext;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.WebApplicationContext;
/**
 * 
 * @author NanGuoCan
 *
 */
public class SpringBeanFactory {
	public static Object getBean(String beanName) {

		ApplicationContext applicationContext = (ApplicationContext) ServletActionContext
				.getServletContext()
				.getAttribute(
						WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
		return applicationContext.getBean(beanName);
	}

}
 下面是对数据库的操作了,在此我就不上传代码了,主要就是先读取数据库中的历史访问人数,然后加1,再写入数据库,并且把加1后的数据放在session中,在前台取得
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值