Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 无法将sendRedirect()发送到jsp页面。非法国家例外_Hibernate_Jsp_Servlets - Fatal编程技术网

Hibernate 无法将sendRedirect()发送到jsp页面。非法国家例外

Hibernate 无法将sendRedirect()发送到jsp页面。非法国家例外,hibernate,jsp,servlets,Hibernate,Jsp,Servlets,我正在做一个示例hibernate web应用程序。我的表条目已成功添加到数据库,但我无法将响应重定向到成功页面 下面是我的servlet中的代码 HttpSession session = request.getSession(true); try { UserDAO userDAO = new UserDAO(); userDAO.addUserDetails(userName, password, email, phone,

我正在做一个示例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详细信息,但无法重定向到Success.jsp。请提供帮助,因为我无法根据您提供的信息查看响应已写入HTTP的位置。调用sendRedirect方法时,响应已提交。如果您查看该方法的文档,它会指出出现异常的原因:

llegalStateException-如果响应已提交,或者提供了部分URL,并且无法转换为有效的URL


它的基本意思是,在调用sendRedirect方法之前修改响应,最常见的修改响应的方法是通过PrintWriter response.getWriter.println,在调用sendRedirect方法之前检查代码,不要修改响应。

您得到的是非法状态异常?详细信息是什么?java.lang.IllegalStateException:在org.apache.catalina.connector.ResponseFacade.sendRedirectResponseFacade.java:482在com.hiberweb.UserController.doPostUserController.java:29提交响应后无法调用sendRedirect是否要我提供success.jsp页面代码?之前的代码是什么servlet中引用的代码?在您调用sendRedirect之前,有东西正在发送响应内容。是的,Adrian,我刚刚调用了super.doPostreq,resp,它已经编写了HTTP。感谢Cesar,当我使用eclipse重写时,它会自动将超级构造函数添加到代码中。现在一切正常