从JSP重定向处于挂起类型并取消状态

时间:2013-01-06 13:03:13

标签: java jsp post restful-url

我正在调用一个调用REST帖子调用的JSP文件来执行到远程服务器的访问。 正在处理请求但在状态已取消的远程计算机中处于待处理状态。 你能帮忙吗?

这是JSP的一部分:`

<tr>
                <td><button id="registerBtn" onclick="registerClick()">Register</button></td>
                <td><button id="loginBtn" onclick="postOnClick()">Log in</button></td>
            </tr>
        </table>
        <script type='text/javascript'>
            function registerClick() {

                /* var params = "{realm: astra, subjectId: " + document.getElementById('usrInpt').value + " , authInfo: omsspass}"; */
                var first = document.getElementById('firstNameInpt').value;
                var last = document.getElementById('lastNameInpt').value;
                var user = document.getElementById('usrInpt').value;
                var password = document.getElementById('passInpt').value;
                var email = document.getElementById('emailInpt').value;

                var http = new XMLHttpRequest();

                var url = "http://localhost:8080/authJ/v0/authJ/users?realm=JOES_PIZZA&uid=" + user +"&firstname=" + first + "&lastname=" + last + "&password=" + password + "&email=" + email;

                //var params = "{realm: astra, subjectId: " + document.getElementById('usrInpt').value + " , authInfo: omsspass}";

                http.open("POST", url, true);
                //http.setRequestHeader("Content-type", "application/json");
                http.onreadystatechange = function() {
                    if (http.readyState == 4 && http.status == 200) {
                        document.open();
                        document.write(http.responseText);
                    }
                };
                http.send();
            }
        </script>`

这是java代码

:`@POST
    @Path("/users")
    public Response createUser(@QueryParam("uid")String uid, @QueryParam("firstname") String firstName, @QueryParam("lastname") String lastName, @QueryParam("email")String email,
            @QueryParam("password")String password, @QueryParam("realm") String realm) {
        //readProperties();
        String tokenID = getToken();
        StringBuffer openAmUrl = new StringBuffer().append("http://").append(openAmIp).append(openAmWarName).append("/identity/create?");
        openAmUrl.append("identity_name=").append(uid);
        openAmUrl.append("&identity_attribute_names=userpassword");
        openAmUrl.append("&identity_attribute_values_userpassword=").append(password);
        openAmUrl.append("&identity_attribute_names=sn");
        openAmUrl.append("&identity_attribute_values_sn=").append(lastName);
        openAmUrl.append("&identity_attribute_names=cn");
        openAmUrl.append("&identity_attribute_values_cn=").append(firstName);
        openAmUrl.append("&identity_realm=/").append(realm);
        openAmUrl.append("&identity_type=user");
        if (email != null){
            openAmUrl.append("&identity_attribute_names=mail");
            openAmUrl.append("&identity_attribute_values_mail=").append(email);
        }
        openAmUrl.append("&admin=").append(tokenID);

        URI uri = null;
        try {
            uri = new URI(openAmUrl.toString());
        } catch (URISyntaxException e) {
            LOGGER.error("Exception " + e);
            e.printStackTrace();
        }
        return Response.seeOther(uri).build();
    }
`

提前感谢!

1 个答案:

答案 0 :(得分:1)

我发现问题是由于跨域 - 我通过编辑将在没有安全性的情况下启动的浏览器的执行文件来修复它 - (--disable-web-security)希望这对其他人有帮助!