浏览 3849 次
锁定老帖子 主题:网站的退出问题!
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-04
但是无论是转发,重定向,还是js的location地址栏始终没有变化。就在这个地址栏上刷新还能得到用户名和密码。实在是搞不清楚怎么回事了,望有精验的前辈给个解决方案! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-04
我很清楚的把问题写好,为什么又被会员集体评为入门贴了呢?这是一个非常简单的问题吗???
|
|
返回顶楼 | |
发表时间:2007-12-04
确实是 非常 简单的问题
|
|
返回顶楼 | |
发表时间:2007-12-05
有打这几个字的时间,为什么不讲一下怎么解决呢?你完全可以不来回复的!!!
|
|
返回顶楼 | |
发表时间:2007-12-05
很简单 因为如果回答问题要打更多字
|
|
返回顶楼 | |
发表时间:2007-12-05
windows.frames[0]
|
|
返回顶楼 | |
发表时间:2007-12-11
谢谢抛出异常的爱
但是这个问题还是没有解决。我在把问题更为详细的说一下。一个index.jsp为首页登陆。以post方式提交到一个servlet,在这个servlet里面判断用户名密码名,如果正确: session.setAttribute("_USER", username); request.getRequestDispatcher("cnmServlet").forward(request, response); 转给另一个servlet,(这个servlet是采用另一个小系统来组合成一个项目)这个servlet是转发到一个jsp页,这个jsp里面: <jsp:include flush="true" page="top.jsp" /> <jsp:include flush="true" page="blank.html" /> 是由两个页面组合起来的。top.jsp是一个引航条。我的退出就做在了这个jsp里面: <a href="system/loginout.jsp">退出</a> 这个jsp想着把session清空了,然后在转到登陆页面。 我在这个jsp里面试了三种方法: <jsp:scriptlet> session.removeAttribute("_USER"); session.invalidate(); // response.sendRedirect(request.getContextPath()+"/index.jsp"); // request.getRequestDispatcher("../index.jsp").forward(request,response); </jsp:scriptlet> <script type="text/javascript"> window.location.href = "${pageContext.request.contextPath}/index.jsp"; </script> 转发,重定向,还有使用js,但是都不起作用。地址栏始终是 http://localhost:8080/webGUI/forwardCnm 这个servlet的地址。在这个servlet地址栏上一刷新就能在次进入系统了。有人能给解释一下吗??非诚误扰!!!!! |
|
返回顶楼 | |
发表时间:2007-12-11
window.location.href 改成 window.parent.location.href |
|
返回顶楼 | |
发表时间:2007-12-11
codeutil 的几句话让我解决了这个一直想不通的问题。谢谢!
按这个解决方法,可以想像成jsp的include就好比dom里面另加一个窗口吧。 |
|
返回顶楼 | |
发表时间:2007-12-22
codeutil的方法是正解。
引用自: http://www.howtocreate.co.uk/tutorials/javascript/browserinspecific 引用 If the page is the only page being displayed, top, parent, self and window will be equal. If the page is being held within a frameset, self and top will not be equal. If the page is the page containing the frameset, and it itself is not being held within a frameset, self and top will be equal. If someone is loading your page into their frameset and you don't want them to, you can use the self-top relationship to remove your page from their frameset and replace their frameset page with your page using: if( self != top ) { top.location.replace(self.location.href); } Note, I could have used this: if( self != top ) { top.location.href = self.location.href; } However, that makes the browser add the new entry into its history, so if they clicked their back button, they would be forwarded back to your page again. Unfortunately, Gecko browsers (Mozilla/Firefox/Netscape 6+) will only allow the second option as they have very high security levels relating to cross-site scripts. |
|
返回顶楼 | |