对于网站人数的统计,大家可以想到的方法是用application全局实现就可以了,但是有两个缺点,第一:当服务器重新启动的时候,访问人数会清零,因为这个储存是才电脑内存里的,当电脑重启之后内存会清空,另外一个问题是,当我每次刷新页面的时候访问人数都会加1,这个与我们实际情况有些不符,所以我的解决办法是用session去监测,就可以啦.
下面代码喜欢的可以用来当做模板.
jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>index</title>
</head>
<body>
<%
String url = "jdbc:mysql://localhost:3306/student";
String user = "root";
String pwd = "root";
String sql = null;
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection(url,user,pwd);
sql = "update visitcnt set cnt = cnt+1";
if(session.isNew())
conn.createStatement().execute(sql);
sql = "select cnt from visitcnt";
ResultSet ans = conn.prepareStatement(sql).executeQuery();
ans.next();
application.setAttribute("cnt", String.valueOf(ans.getInt("cnt")));
out.print("你是第"+application.getAttribute("cnt")+"个访问此网站的人");
%>
<%=request.getRemoteAddr()%>
</body>
</html>
初学者创作,大佬勿喷,谢谢
如果有任何错误欢迎大家指出,谢谢