我正在做一个示例hibernate web应用程序。并且我的表条目已成功添加到数据库,但我无法将我的响应重定向到成功页面。
这是我的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");
我在控制台中获取syso“Details are”,但无法重定向到Success.jsp。请帮忙,因为我无法看到响应已写入HTTP的位置
答案 0 :(得分:0)
根据您提供的信息,您在调用sendRedirect
方法时会提交响应,如果您查看方法HttpServletResponse#sendRedirect的文档,则表明您获得异常的原因:
llegalStateException - 如果提交了响应或者给出了部分URL但无法将其转换为有效的URL
它基本上意味着您在调用sendRedirect
方法之前修改了响应,修改响应的最常用方法是通过PrintWriter
response.getWriter().println
,检查您的代码不是在调用sendRedirect方法之前修改响应。