session的问题 不同的会话就有不同的 session id ,即使是同一个人也不会得到同一个session id我认为计算客户访问次数最简单的方法就是用 Cookie去保存 浏览次数 很简单的,确实象这种记录长时间的数据应该用Cookie 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不适session的失效时间设置的问题。你看一下你的web.xml配置里的session-config.调整一下session的失效时间。<session-config> <session-timeout>90</session-timeout></session-config>或者看一下你的jsp页面是不适禁止使用session对象;默认是不禁止的。不妨显示加上可以使用session,如下:<%@page session="true"%> 如果简单的实现的话 所有的访问都通过这个servlet 然后在这个servlet里面定义一个 static int i=0 ; servlet的dopost或者doget里面加上 i++ 然后在页面上输出i就行了 当然服务器重起了就又归零了 你可以存到硬盘上下次再取 考虑线程方面问题还需要给i++ 上个锁 直接把该值设置到this.getServletContext().setAttribute("count",new Integer(i));里不就行了? 我知道用cookie怎么做,问题是每次getSession,都是创建新的session,找不到原来的session(浏览器没有关闭)计算客户访问次数不是我要问的问题找不到原来的session才是问题package coreservlets;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.util.*;/** * Servlet that uses session-tracking to keep per-client access counts. Also * shows other info about the session. */public class ShowSession extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); HttpSession session = request.getSession(); String heading; Integer accessCount = (Integer) session.getAttribute("accessCount"); if (accessCount == null) { accessCount = new Integer(0); heading = "Welcome, Newcomer"; } else { heading = "Welcome Back"; accessCount = new Integer(accessCount.intValue() + 1); } // Integer is an immutable data structure. So, you // cannot modify the old one in-place. Instead, you // have to allocate a new one and redo setAttribute. session.setAttribute("accessCount", accessCount); PrintWriter out = response.getWriter(); String title = "Session Tracking Example"; String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " + "Transitional//EN\">\n"; out .println(docType + "<HTML>\n" + "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<CENTER>\n" + "<H1>" + heading + "</H1>\n" + "<H2>Information on Your Session:</H2>\n" + "<TABLE BORDER=1>\n" + "<TR BGCOLOR=\"#FFAD00\">\n" + " <TH>Info Type<TH>Value\n" + "<TR>\n" + " <TD>ID\n" + " <TD>" + session.getId() + "\n" + "<TR>\n" + " <TD>Creation Time\n" + " <TD>" + new Date(session.getCreationTime()) + "\n" + "<TR>\n" + " <TD>Time of Last Access\n" + " <TD>" + new Date(session.getLastAccessedTime()) + "\n" + "<TR>\n" + " <TD>Number of Previous Accesses\n" + " <TD>" + accessCount + "\n" + "</TABLE>\n" + "</CENTER></BODY></HTML>"); }} 楼主不知道你到底要问什么楼主这个程序根本没有你说的那个情况只要你不闭浏览器你request.getSession()都是原来Session你把这个网页发布一下 刷新几次看看 计算客户访问次数一般写在过滤器filter里。。另外,没听懂你的问题。。 恩 用 Filter 做比较好啊 问题已经解决,工程文件名为"Servlet&JSP"结果导致session无法回传去掉符号&就行了原因研究中... hibernate映射问题 ServerSocket的问题 struts2国际化问题 jsp wml 服务器端接受到的是乱码 帮忙解决哈,编码都设的UTF-8 如何把图片保存到xml 请问:weblogic8.1中的将j2sdk能否使用1.5版本 求助?一个格子游戏的麻烦! 用Struts调用EJB的错误?请大家帮我分析一下!!问题解决后,再送200分!! 刚下载JasperReport有几点疑问,请用过的朋友给予解答,万分感谢! 使用文档对象模式脚本显示xml文档的问题? 门户系统是怎么回事? portal 又是干什么的 一个简单的java问题?
<session-config>
<session-timeout>90</session-timeout>
</session-config>
或者看一下你的jsp页面是不适禁止使用session对象;默认是不禁止的。不妨显示加上可以使用session,如下:<%@page session="true"%>
问题是每次getSession,都是创建新的session,找不到原来的session(浏览器没有关闭)计算客户访问次数不是我要问的问题找不到原来的session才是问题package coreservlets;import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;/**
* Servlet that uses session-tracking to keep per-client access counts. Also
* shows other info about the session.
*/public class ShowSession extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession();
String heading;
Integer accessCount = (Integer) session.getAttribute("accessCount");
if (accessCount == null) {
accessCount = new Integer(0);
heading = "Welcome, Newcomer";
} else {
heading = "Welcome Back";
accessCount = new Integer(accessCount.intValue() + 1);
}
// Integer is an immutable data structure. So, you
// cannot modify the old one in-place. Instead, you
// have to allocate a new one and redo setAttribute.
session.setAttribute("accessCount", accessCount);
PrintWriter out = response.getWriter();
String title = "Session Tracking Example";
String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "
+ "Transitional//EN\">\n";
out
.println(docType + "<HTML>\n" + "<HEAD><TITLE>" + title
+ "</TITLE></HEAD>\n" + "<BODY BGCOLOR=\"#FDF5E6\">\n"
+ "<CENTER>\n" + "<H1>" + heading + "</H1>\n"
+ "<H2>Information on Your Session:</H2>\n"
+ "<TABLE BORDER=1>\n" + "<TR BGCOLOR=\"#FFAD00\">\n"
+ " <TH>Info Type<TH>Value\n" + "<TR>\n"
+ " <TD>ID\n" + " <TD>" + session.getId() + "\n"
+ "<TR>\n" + " <TD>Creation Time\n" + " <TD>"
+ new Date(session.getCreationTime()) + "\n" + "<TR>\n"
+ " <TD>Time of Last Access\n" + " <TD>"
+ new Date(session.getLastAccessedTime()) + "\n"
+ "<TR>\n" + " <TD>Number of Previous Accesses\n"
+ " <TD>" + accessCount + "\n" + "</TABLE>\n"
+ "</CENTER></BODY></HTML>");
}
}
楼主这个程序根本没有你说的那个情况
只要你不闭浏览器
你request.getSession()都是原来Session
你把这个网页发布一下 刷新几次看看
另外,没听懂你的问题。。
工程文件名为
"Servlet&JSP"
结果导致session无法回传
去掉符号&就行了
原因研究中...