无法将 sendRedirect() 发送到 jsp 页面。非法状态异常
Unable to sendRedirect() to a jsp page. IllegalStateException
我正在做一个示例休眠 Web 应用程序。我的 table 条目已成功添加到数据库,但我无法将我的响应重定向到成功页面。
这是我的 servlet 中的代码
HttpSession session = request.getSession(true);
try {
UserDAO userDAO = new UserDAO();
userDAO.addUserDetails(userName, password, email, phone, city);
response.sendRedirect("Success");
return;
我的DAO代码如下
Session session = factory.openSession();
Transaction tr = session.beginTransaction();
User user = new User();
user.setUserName(userName);
user.setPassword1(password);
user.setEmail(email);
user.setCity(city);
user.setPhone(phone);
session.save(user);
tr.commit();
System.out.println("\n\n Details Added \n");
我正在控制台中获取系统 "Details added",但无法重定向到 Success.jsp。请帮忙,因为我看不到响应已经写入 HTTP
的位置
根据您提供的信息,当您调用 sendRedirect
方法时,响应已提交,如果您查看方法 HttpServletResponse#sendRedirect 的文档,它表明了您获得异常的原因:
llegalStateException - If the response was committed or if a partial URL is given and cannot be converted into a valid URL
它的基本意思是你在调用sendRedirect
方法之前修改响应,最常见的修改响应的方法是通过PrintWriter
response.getWriter().println
,检查你的代码在调用 sendRedirect 方法之前不修改响应。
我正在做一个示例休眠 Web 应用程序。我的 table 条目已成功添加到数据库,但我无法将我的响应重定向到成功页面。
这是我的 servlet 中的代码
HttpSession session = request.getSession(true);
try {
UserDAO userDAO = new UserDAO();
userDAO.addUserDetails(userName, password, email, phone, city);
response.sendRedirect("Success");
return;
我的DAO代码如下
Session session = factory.openSession();
Transaction tr = session.beginTransaction();
User user = new User();
user.setUserName(userName);
user.setPassword1(password);
user.setEmail(email);
user.setCity(city);
user.setPhone(phone);
session.save(user);
tr.commit();
System.out.println("\n\n Details Added \n");
我正在控制台中获取系统 "Details added",但无法重定向到 Success.jsp。请帮忙,因为我看不到响应已经写入 HTTP
的位置根据您提供的信息,当您调用 sendRedirect
方法时,响应已提交,如果您查看方法 HttpServletResponse#sendRedirect 的文档,它表明了您获得异常的原因:
llegalStateException - If the response was committed or if a partial URL is given and cannot be converted into a valid URL
它的基本意思是你在调用sendRedirect
方法之前修改响应,最常见的修改响应的方法是通过PrintWriter
response.getWriter().println
,检查你的代码在调用 sendRedirect 方法之前不修改响应。