无法将reddirect()发送到jsp页面。 IllegalStateException异常

时间:2015-04-09 21:35:31

标签: hibernate jsp servlets

我正在做一个示例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的位置

1 个答案:

答案 0 :(得分:0)

根据您提供的信息,您在调用sendRedirect方法时会提交响应,如果您查看方法HttpServletResponse#sendRedirect的文档,则表明您获得异常的原因:

  

llegalStateException - 如果提交了响应或者给出了部分URL但无法将其转换为有效的URL

它基本上意味着您在调用sendRedirect方法之前修改了响应,修改响应的最常用方法是通过PrintWriter response.getWriter().println,检查您的代码不是在调用sendRedirect方法之前修改响应。