Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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

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
Java Facelets错误页,因为响应已提交。jsf_Java_Jsp_Jsf - Fatal编程技术网

Java Facelets错误页,因为响应已提交。jsf

Java Facelets错误页,因为响应已提交。jsf,java,jsp,jsf,Java,Jsp,Jsf,我执行以下重定向:- objExternalContext.redirect("http://blogger.blogdns.com:8080/Blogger/Common/LoginRequestProcessor.jsp;jsessionid=" + objHttpSession.getId() + "?j_username="+ userName + "&j_password=" + password + "&rememberMe=" + rememberMe);

我执行以下重定向:-

   objExternalContext.redirect("http://blogger.blogdns.com:8080/Blogger/Common/LoginRequestProcessor.jsp;jsessionid=" + objHttpSession.getId() + "?j_username="+ userName + "&j_password=" + password + "&rememberMe=" + rememberMe);
要查看LoginRequestProcessor.jsp页面,请执行以下操作:-

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>

        <title>JSP Page</title>
        <script type="text/javascript">
            window.onload = function(){
                document.forms[0].submit();
            }
        </script>

    </head>
    <body style="background: black;">
        <div style="color: white;">


            <center><h1>Please wait login is being processed.</h1></center>
        </div>


        <%
            //change session id because it gets lost while switching from https to http

            System.out.println("Cookie in jsp " + request.getSession(true).getId());
        %>

        <form method="POST" action="j_security_check;jsessionid=<%= request.getSession(true).getId()%>" id ="frm">

            <input type="hidden" name= "j_username" value="${param.j_username}"/>

            <input type="hidden" name = "j_password" value="${param.j_password}"/>
            <input style="display: none;" type="submit" value="Submit"/>
        </form>
    </body>
</html>
在浏览器中,我还看到了地址:-

http://blogger.blogdns.com:8080/Blogger/;jsessionid=a05bfc017aac39414876eccd38fe
没有页面名称(LoginRequestProcessor.jsp),没有用户名,没有密码。 更有趣的是,有时它是有效的!但80%的情况下,它会出现这种错误,并错误地重定向

有什么办法解决这个问题吗


Edit:-如果重定向时我没有传递jsessionid,它可以正常工作,但会话id会更改。如果我传递了jsessionid,我会得到上面的错误:(.

正如错误所说,响应已经提交-这意味着HTTP状态代码和头已经发送到浏览器。因为已经发生了这种情况,所以发送重定向为时已晚

不幸的是,据我所知,没有办法重置响应

如果不知道如何调用
objExternalContext.redirect
,就很难给出更多建议

http://blogger.blogdns.com:8080/Blogger/;jsessionid=a05bfc017aac39414876eccd38fe