struts 验证session唯一登陆的问题 session超时是在web.xml中加入下面的 <session-config> <session-timeout>30</session-timeout> </session-config> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关于登陆的问题,我想可以向数据库放一个字断,来保存该用户是否在线,以及存放该用户sessionID,向applation放Map,Map中根据sessionID保存session.当用户登陆数据库查出他已经在线时,根据sessionId从applation的Map中取出session,并销毁它 <session-config> <session-timeout>30</session-timeout> </session-config> 冬瓜你说的这些我都知道,查资料也都看到了只是不会具体实现所以才来问的谁能给我个例子?或者给我讲下appliction对这玩意我好陌生 重新考虑了一下,也可以不用数据库,只用appliction纪录用户session随手给你写了一个,自己没跑,你试一下吧,大概就是这么个意思 public void setSession(String userId, HttpServlet servlet, HttpSession session) { final ServletContext sc = servlet.getServletContext();//取得容器,容器中根据用户唯一标识userID存放session if (sc.getAttribute(userId) != null) {// 第二次登陆后第一次无效 ((HttpSession) sc.getAttribute(userId)).invalidate();// 清除第一次登陆的session } sc.setAttribute(userId, session);//放入当前最新session }上面是在后台实现的,如果你要在JSP中做,直接appliction.getAttribute(userId),appliction.setAttribute(userId, session)就行 你写的那个我调试成功了,真是高人,不过我还想问两个问题,希望能帮我解答,一:下边这段代码是我写的,我不明白的是为什么红字部分的判断为null,我知道sessionID不同,在本机上开两个浏览器就可以判断为有值,可是两个sessionID值不同,但是他们却都可以在各自的浏览器上随便访问,而如果开两台机器的两个浏览器的话,后开的判断红字部分还是null,虽然sessionID不同,但为什么两个浏览器在本机上sessionID不同就行?HttpSession session = request.getSession(); if (session.getAttribute("sessionUserName")!=null) { String sessionUserName = (String)request.getSession().getAttribute("sessionUserName"); if (sessionUserName==userName||sessionUserName.equals(userName)) { session.setAttribute("sessionUserName",null); request.getSession().invalidate(); } }二:第二个问题是针对冬瓜的代码的,冬瓜的代码在两台机器上测试是成功的,可是在一台机器上就判断不了了,在一台机器上的话开两个浏览器,去登陆,两个都可以登陆成功,sessionID是不同的,但没有把第一个的sessionID给销毁,他们都可以无限制的访问。这是为什么呢?能不能在本机上也限制登陆两次也把第一次的session销毁?就像163邮箱一样的,就算一台电脑上开两个用户名不同的邮箱也会把先开的强制断开。 关于第一个问题,不管是在同一台机器还是多台机器,只要重新打开了一个浏览器,就会创建一个全新的session,如果在这个session创建之后,你并没有向其中的sessionUserName字段放值的话,那么session.getAttribute("sessionUserName")得到的会永远是空。关于第二个问题,>可是在一台机器上就判断不了了这个一台是指的什么情况,是指只有一台电脑,它是服务器,并且在它上面同时打开两个浏览器的情况吗?还是另外一种情况,用A电脑当服务器,B电脑访问A,并且在B上同时打开两个浏览器?判断一台我想应该是将服务器那台电脑除外的单独一台电脑,也就是第二种情况,你至少要有两台电脑。还是不行的话我再找时间试试。 在一台机器上有两个同时访问,不可以请注意一个用户userId是相同的public void setSession(String userId, HttpServlet servlet, HttpSession session) { final ServletContext sc = servlet.getServletContext();//取得容器,容器中根据用户唯一标识userID存放session-----容器是一个,只有一个 if (sc.getAttribute(userId) != null) {// 第二次登陆后第一次无效 ((HttpSession) sc.getAttribute(userId)).invalidate();// 清除第一次登陆的session--该userId的session被清除了 } sc.setAttribute(userId, session);//放入当前最新session--该userId的session又被放入了 }失效后,你再appliction.getAttribute(userId),当然又能获取到了!不知道说的对不对呵呵! 今天上班忙于做分页,把回帖的事给耽误了,sorry哦,我刚又试了一下,我在服务器上如果开一个遨游和一个IE,他们就不可以同时登陆一个帐号了,但是如果在遨游里开两个标签,这一个用户就可以同时访问页面,可不可以做到和淘宝网一样?(淘宝网其一:如果这个用户用遨游登陆了,再在遨游新开个标签,访问主页,直接判断这个用户是登陆了的。其二:这个用户用遨游登陆了,再打开IE,访问主页,也判断这个用户已经登陆了)虽然有点画蛇添足,可是我就是想做的完美一点。遇到像冬瓜这样的高手,实在是忍不住想多问点问题,如果分不够我可以再加,就是比如一个用户在浏览网页,然后另外一个地方上了他的帐号,把他踢下去了,就是就把他弹回到登陆页面,同时出现errors.add("error",new ActionMessage("id.null")) ;这样的错误信息传说中的小小小小山就是我,我没有用appliction的 我现在在做swing,手头没有web环境,为了帮你验证一台机器的情况,重新搭建了一个web环境,花了我不少时间。ServletTest.javapublic class ServletTest extends HttpServlet { private static final long serialVersionUID = -2562277969733138849L; public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setCharacterEncoding("Windows-31J"); response.setContentType("text/html; charset=Windows-31J"); String btn = request.getParameter("btn"); if("gotoSecond".equals(btn)){ // 点了按钮后,进second页面 getServletContext().getRequestDispatcher("/WEB-INF/jsp/second.jsp").forward(request, response); } else {//初次登陆后进first页,并且根据用户身份标识验证session是否已经存在 String userId = request.getParameter("userId");//用户身份标识 checkSession(userId, this, request.getSession()); getServletContext().getRequestDispatcher("/WEB-INF/jsp/first.jsp").forward(request, response); } } private void checkSession(String userId, HttpServlet servlet, HttpSession session) { final ServletContext sc = servlet.getServletContext(); if (sc.getAttribute(userId) != null) { ((HttpSession) sc.getAttribute(userId)).invalidate(); } session.setAttribute("USER_ID", userId);//这里将用户身份标识放入session,为的是在secong页上验证session是否已经被销毁 sc.setAttribute(userId, session); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { this.doPost(request, response); }}first.jsp<html><body>first jsp!!<form action="" method="post"> <input type="submit" name="btn" value="gotoSecond"></form></body></html>second.jsp<html><body>second jsp!!name=<%=session.getAttribute("USER_ID")%></body></html>下面我开始演示 这时去点第一个浏览器的按钮,正常的话它的session应该已经被我们销毁了,页面是得不到USER_ID的 再去点击第二个浏览器按钮,它是后登陆的,session应该存在 感谢冬瓜的热心+耐心帮助代码先收藏了,手头上还有件麻烦事没搞定再弱弱的问一句<html:link action="DateUpdatePage">page</html:link>这句话用javascript怎么表示啊?就是要用onload方法调用javascript,然后实现跟上边的link一模一样的功能,我试了好几个都不行 你是进onload方法后要用js写出一个链接显示在页面上?还是进onload方法后执行诸如点击那个链接的事件,也就是提交跳页? 是提交跳页原来的jsp里只有这么一句 <body><html:link action="DateUpdatePage">page</html:link> </body>点了这个超链接之后就去后台做分页的事情了,然后会转到一个显示分页的jsp我现在做的因为有文本框输入值,所以要点查询按钮之后获得值再转到一个中转的jsp,这个jsp也就是相当于link的那条,不同的是要自动执行那个功能,执行之后可以去后台处理,然后显示出分页的jsp,我说的有点罗嗦,呵呵,为了表达清楚一点,在线等哦 <body onload="window.open('DateUpdatePage', '_self', '');">中转的时候当然会慢了,它要先解析这个中转的jsp,然后提交,然后又解析分页jsp不太明白为什么要用这么个中转,其实它除了提交到你的DateUpdatePage里什么也没做,浪费时间浪费效率。文本框输入值,点查询按钮之后提交到后台获得这个值,做你的事,做完之后由后台转发到DateUpdatePage里做分页,做好后直接输出分页jsp,中间由jsp转发改为由后台转发,效率高的多的多的多!struts框架都是这个思想设计的,大项目都要你这样来的话客户就跳楼了 我猜你用的可能不是struts,你在后台直接给定jsp地址输出那种吧,就像我上面写的那样还是以我的例子说明:这是给了jsp地址输出getServletContext().getRequestDispatcher("/WEB-INF/jsp/first.jsp").forward(request, response);把它改为指向一个命令getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这样web.xml会根据你发来的DateUpdatePage.do请求找到对应的Class,然后就执行doPost,doGet了 <servlet> <servlet-name>action</servlet-name> <servlet-class>servlet.ServletTest</servlet-class> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>/login.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>action2</servlet-name> <servlet-class>servlet.ServletTest2</servlet-class> </servlet> <servlet-mapping> <servlet-name>action2</servlet-name> <url-pattern>/DateUpdatePage.do</url-pattern> </servlet-mapping>我真是呕心沥血啊! 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 我用的是struts后台转是这样的return mapping.findForward("ChargeStatSucceed");getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~web.xml我直接是用的*.do辛苦冬瓜了。。我回去再弄弄吧我今天又发现我程序里的一个bug就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<% //退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面 request.getSession().removeAttribute("sessionUserName") ; session.removeAttribute("sessionUserName"); session.invalidate(); response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); response.setHeader("Pragma","no-cache"); %> 难道是设置了下边的xml的原因么?<session-config> <session-timeout>30</session-timeout> </session-config>要不你做我师傅怎么样带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。下班了,先回家了,我会经常上来看地~~再次感谢冬瓜大好人 java里将字符串转换成日期,这么麻烦吗 在java 中,包有多种用途???????????? 大家进来讨论一下吧,关于Servlet的... 或者HTTP的.. 求高手帮助 weblogic的在jb里启动,war可以访问ejb,但在jb外部启动就出错。 汽车导航系统是采用j2me,还是j2ee? Struts中怎样在一个jsp页面中传递一个对象给formBean啊? 哪有jbuilder中文书籍下载,新一点的? ejb运行的环境如何配置啊?!! 怎么用Java编写这个页面,求大神告知 Tapestry怎么呢? 如何解析wsdl文件?
向applation放Map,Map中根据sessionID保存session.
当用户登陆数据库查出他已经在线时,根据sessionId从applation的Map中取出session,并销毁它
<session-timeout>30</session-timeout>
</session-config>
你说的这些我都知道,查资料也都看到了
只是不会具体实现所以才来问的
谁能给我个例子?或者给我讲下appliction
对这玩意我好陌生
随手给你写了一个,自己没跑,你试一下吧,大概就是这么个意思 public void setSession(String userId, HttpServlet servlet,
HttpSession session) {
final ServletContext sc = servlet.getServletContext();//取得容器,容器中根据用户唯一标识userID存放session
if (sc.getAttribute(userId) != null) {// 第二次登陆后第一次无效
((HttpSession) sc.getAttribute(userId)).invalidate();// 清除第一次登陆的session
}
sc.setAttribute(userId, session);//放入当前最新session
}上面是在后台实现的,如果你要在JSP中做,直接appliction.getAttribute(userId),appliction.setAttribute(userId, session)就行
一:下边这段代码是我写的,我不明白的是为什么红字部分的判断为null,我知道sessionID不同,在本机上开两个浏览器就可以判断为有值,可是两个sessionID值不同,但是他们却都可以在各自的浏览器上随便访问,而如果开两台机器的两个浏览器的话,后开的判断红字部分还是null,虽然sessionID不同,但为什么两个浏览器在本机上sessionID不同就行?
HttpSession session = request.getSession();
if (session.getAttribute("sessionUserName")!=null)
{
String sessionUserName = (String)request.getSession().getAttribute("sessionUserName");
if (sessionUserName==userName||sessionUserName.equals(userName))
{
session.setAttribute("sessionUserName",null);
request.getSession().invalidate();
}
}
二:第二个问题是针对冬瓜的代码的,冬瓜的代码在两台机器上测试是成功的,可是在一台机器上就判断不了了,在一台机器上的话开两个浏览器,去登陆,两个都可以登陆成功,sessionID是不同的,但没有把第一个的sessionID给销毁,他们都可以无限制的访问。这是为什么呢?能不能在本机上也限制登陆两次也把第一次的session销毁?就像163邮箱一样的,就算一台电脑上开两个用户名不同的邮箱也会把先开的强制断开。
只要重新打开了一个浏览器,就会创建一个全新的session,
如果在这个session创建之后,你并没有向其中的sessionUserName字段放值的话,
那么session.getAttribute("sessionUserName")得到的会永远是空。关于第二个问题,
>可是在一台机器上就判断不了了
这个一台是指的什么情况,是指只有一台电脑,它是服务器,并且在它上面同时打开两个浏览器的情况吗?
还是另外一种情况,用A电脑当服务器,B电脑访问A,并且在B上同时打开两个浏览器?判断一台我想应该是将服务器那台电脑除外的单独一台电脑,也就是第二种情况,你至少要有两台电脑。还是不行的话我再找时间试试。
请注意一个用户userId是相同的public void setSession(String userId, HttpServlet servlet,
HttpSession session) {
final ServletContext sc = servlet.getServletContext();//取得容器,容器中根据用户唯一标识userID存放session-----容器是一个,只有一个
if (sc.getAttribute(userId) != null) {// 第二次登陆后第一次无效
((HttpSession) sc.getAttribute(userId)).invalidate();// 清除第一次登陆的session--该userId的session被清除了 }
sc.setAttribute(userId, session);//放入当前最新session--该userId的session又被放入了
}失效后,你再
appliction.getAttribute(userId),
当然又能获取到了!
不知道说的对不对呵呵!
遇到像冬瓜这样的高手,实在是忍不住想多问点问题,如果分不够我可以再加,就是比如一个用户在浏览网页,然后另外一个地方上了他的帐号,把他踢下去了,就是就把他弹回到登陆页面,同时出现errors.add("error",new ActionMessage("id.null")) ;这样的错误信息传说中的小小小小山就是我,我没有用appliction的
重新搭建了一个web环境,花了我不少时间。ServletTest.javapublic class ServletTest extends HttpServlet { private static final long serialVersionUID = -2562277969733138849L; public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
request.setCharacterEncoding("Windows-31J");
response.setContentType("text/html; charset=Windows-31J"); String btn = request.getParameter("btn");
if("gotoSecond".equals(btn)){ // 点了按钮后,进second页面
getServletContext().getRequestDispatcher("/WEB-INF/jsp/second.jsp").forward(request, response);
} else {//初次登陆后进first页,并且根据用户身份标识验证session是否已经存在
String userId = request.getParameter("userId");//用户身份标识
checkSession(userId, this, request.getSession());
getServletContext().getRequestDispatcher("/WEB-INF/jsp/first.jsp").forward(request, response);
} } private void checkSession(String userId, HttpServlet servlet,
HttpSession session) {
final ServletContext sc = servlet.getServletContext();
if (sc.getAttribute(userId) != null) {
((HttpSession) sc.getAttribute(userId)).invalidate();
}
session.setAttribute("USER_ID", userId);//这里将用户身份标识放入session,为的是在secong页上验证session是否已经被销毁
sc.setAttribute(userId, session);
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
this.doPost(request, response);
}
}
first.jsp<html>
<body>
first jsp!!
<form action="" method="post">
<input type="submit" name="btn" value="gotoSecond">
</form>
</body>
</html>
second.jsp<html>
<body>
second jsp!!
name=<%=session.getAttribute("USER_ID")%>
</body>
</html>下面我开始演示
代码先收藏了,手头上还有件麻烦事没搞定
再弱弱的问一句
<html:link action="DateUpdatePage">page</html:link>这句话用javascript怎么表示啊?
就是要用onload方法调用javascript,然后实现跟上边的link一模一样的功能,我试了好几个都不行
还是进onload方法后执行诸如点击那个链接的事件,也就是提交跳页?
原来的jsp里只有这么一句
<body>
<html:link action="DateUpdatePage">page</html:link>
</body>
点了这个超链接之后就去后台做分页的事情了,然后会转到一个显示分页的jsp
我现在做的因为有文本框输入值,所以要点查询按钮之后获得值再转到一个中转的jsp,这个jsp也就是相当于link的那条,不同的是要自动执行那个功能,执行之后可以去后台处理,然后显示出分页的jsp,我说的有点罗嗦,呵呵,为了表达清楚一点,在线等哦
<body onload="window.open('DateUpdatePage', '_self', '');">中转的时候当然会慢了,它要先解析这个中转的jsp,然后提交,然后又解析分页jsp不太明白为什么要用这么个中转,其实它除了提交到你的DateUpdatePage里什么也没做,浪费时间浪费效率。文本框输入值,点查询按钮之后提交到后台获得这个值,做你的事,做完之后由后台转发到DateUpdatePage里做分页,
做好后直接输出分页jsp,中间由jsp转发改为由后台转发,效率高的多的多的多!struts框架都是这个思想设计的,
大项目都要你这样来的话客户就跳楼了
还是以我的例子说明:这是给了jsp地址输出getServletContext().getRequestDispatcher("/WEB-INF/jsp/first.jsp").forward(request, response);把它改为指向一个命令getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);
这样web.xml会根据你发来的DateUpdatePage.do请求找到对应的Class,然后就执行doPost,doGet了 <servlet>
<servlet-name>action</servlet-name>
<servlet-class>servlet.ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/login.do</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>action2</servlet-name>
<servlet-class>servlet.ServletTest2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action2</servlet-name>
<url-pattern>/DateUpdatePage.do</url-pattern>
</servlet-mapping>我真是呕心沥血啊!
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人
后台转是这样的
return mapping.findForward("ChargeStatSucceed");
getServletContext().getRequestDispatcher("/DateUpdatePage.do").forward(request, response);这个我也用了,可是这样写不行,找不到路径,所以又搞了会弄不出来才来问你的~~
web.xml我直接是用的*.do
辛苦冬瓜了。。我回去再弄弄吧
我今天又发现我程序里的一个bug
就是用户过了一段时间不操作,然后退出再登陆,就会报异常了,而时间短的话就没事<%
//退出按钮都调用这个jsp文件,作用是销毁session并且返回到登陆页面
request.getSession().removeAttribute("sessionUserName") ;
session.removeAttribute("sessionUserName");
session.invalidate();
response.sendRedirect("UserLogin.jsp"); response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
%>
难道是设置了下边的xml的原因么?
<session-config>
<session-timeout>30</session-timeout>
</session-config>
要不你做我师傅怎么样
带带我这个新手,我做的第一个项目,很多地方出的错都没遇到过,没经验呀。。
下班了,先回家了,我会经常上来看地~~
再次感谢冬瓜大好人