报错如图:
原因:代码中死循环,某页面一直跳转到自己页面,跳不出去了。
我的代码如下:
login.jsp 用于登录验证 利用cookie加入免登陆功能
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
<script type="text/javascript">
function check(){
var cookie=document.getElementById("cookie");//拿到整个复选文本框
if(cookie.checked){
cookie.value="1";
}
}
</script>
</head>
<body>
<%@ include file="Cookie.jsp" %>
<form action="control.jsp">
<div>用户名:<input type="text" name="username"></div>
<div>密 码: <input type="password" name="password"></div>
<div><input id="cookie" name="cookie" type="checkbox" value="0" onclick="check();">十天免登陆</div>
<div><input type="submit" value="登录"></div>
</form>
</body>
</html>
Cookie.jsp页面 主要用于Cookie的检测
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
Cookie[] cookies=request.getCookies();
if(cookies!=null)
{ for(Cookie c:cookies) {
if ("login".equals(c.getName())) {
request.getRequestDispatcher("index.jsp").forward(request, response);
break;
}
}}
//就是这句话,在login.jsp页面跳转到login,.jsp页面
response.sendRedirect("login.jsp");
%>
</body>
</html>
我在login.jsp页面里面使用include指令加入了cookie.jsp页面,也就是说cookie.jsp页面包含在login.jsp里面。在cookie.jsp页面进行cookie的验证,如果有自己设置的cookie,就免登陆,进入index.jsp页面。如果没有自己的cookie,就重新进入到login.jsp。听起来好像没错。但是其实是有问题的,我的cookie.jsp页面本来就包含在login.jsp。在cookie.jsp(也就是login.jsp)页面再进入login.jsp,就是自己页面反复跳转。很明显就是一个死循环的跳转了。
如果我的代码没看懂,我的解释没看懂,就算了。这个报错主要是因为代码死循环,页面跳转死循环。