消息 提交响应后无法调用sendRedirect()。
<head>
<meta charset="utf-8" />
<title>用户登录title>
head>
<body>
<form action="/testcookie/LoginServlet" method="post">
<div>
<div>
<h2>请登录h2>
div>
<div>
<input type="text" name="username" placeholder="请输入账户名"/>
div>
<div>div>
<div>
<input type="password" name="pwd" placeholder="请输入密码" />
div>
<div>
<button type="submit" >登录button>
div>
div>
form>
body>
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//处理乱码
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//接受数据 request.getParameter()方法来获取表单参数的值。
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
Cookie cookie=new Cookie("username",username);
cookie.setMaxAge(10);
response.addCookie(cookie);
if("yx".equals(username)&&"123".equals(pwd)){
request.getRequestDispatcher("/Servletok").forward(request,response);
}else{
request.getRequestDispatcher("/Servletfail").forward(request,response);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
@WebServlet("/Servletok")
public class Servletok extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//处理乱码
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String username = null;
//遍历
Cookie[] cookies=request.getCookies();
for (Cookie c : cookies) {
if ("username".equals(c.getName())) {
username=c.getValue();
response.getWriter().println("欢迎登录!:" +username);
}
else{
// else if(username==null) {
response.sendRedirect("/login.html");
}
}
response.getWriter().println("sss");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
类型 异常报告
消息 提交响应后无法调用sendRedirect()。
描述 服务器遇到一个意外的情况,阻止它完成请求。
例外情况
java.lang.IllegalStateException: 提交响应后无法调用sendRedirect()。
org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:488)
servlet.SuccessServlet.doPost(SuccessServlet.java:28)
javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
servlet.JudgeServlet.doPost(JudgeServlet.java:28)
javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
想问一下各位码友这是什么原因安??好人一生平安