无法在javascript中的表单提交上读取ResponseHeader值

时间:2015-12-26 08:14:37

标签: javascript jquery html servlet-filters

我正在尝试使用servlet进行用户登录。我无法读取响应标头值。我在过滤器中添加了它。

Login.html: -

   <div class="container">
    <form class="form-signin" id="loginForm" name="loginForm"
        action="/JerseyPageRedirection/login/RedirectDemo"   method="post" onsubmit="pwd_handler(this);">
        <div class="errmsg text-center"></div>
        <label for="inputEmail">Email address</label> <input type="email"
            id="emailId" class="form-control" name="emailId"
            placeholder="Email address" required autofocus> <br>    <label
            for="inputPassword">Password</label> <input   type="password"
            id="password" class="form-control" name="password"
            placeholder="Password" required> 
            <input type="hidden" name="epassword" value="" /><br>
        <button type="submit" class="btn btn-lg btn-primary btn-    block">Sign in</button>
    </form>
</div>
<script>
    function pwd_handler(form)
    {
            if (form.password.value != '')
            {   
                form.epassword.value =     window.btoa(form.password.value);
                form.password.value = '';
            }
    }
</script>

web.xml: -

   <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>JerseyPageRedirection</display-name>
<welcome-file-list>
    <welcome-file>login.html</welcome-file>
</welcome-file-list>
<filter>
    <filter-name>LoginFilter</filter-name>
    <filter-class>org.redirect.demo.RequestFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
    <servlet-name>LoginService</servlet-name>
    <servlet-class>org.redirect.demo.RedirectDemo</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginService</servlet-name>
    <url-pattern>/login/*</url-pattern>
</servlet-mapping>
<listener>
    <listener-class>org.redirect.demo.RequestFilter</listener-class>
</listener>
 </web-app>

LoginFilter(过滤器): -

      public class RequestFilter implements Filter {

@Override
public void destroy() {

}

@Override
public void doFilter(ServletRequest srreq, ServletResponse srresp,
        FilterChain ch) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) srreq;
    if(request.getRequestURI().contains("main.html")){
        HttpServletResponse response = (HttpServletResponse)srresp;
        response.setHeader("Authorization", "Hello user");
        ch.doFilter(srreq, response);
    }else{
        ch.doFilter(srreq, srresp);
    }
}

@Override
public void init(FilterConfig fc) throws ServletException {

}

}

LoginServlet: -

       public class RedirectDemo extends HttpServlet {

private static final long serialVersionUID = -8230594616794095241L;

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    resp.sendRedirect("../main.html");
}
 }

重定向请求和响应标头后: -

enter image description here

现在我想使用javascript阅读授权标题。有些人帮我阅读授权标题。

main.html: -

 <html>
<head>
<meta charset="UTF-8">
<title>main</title>
</head>
<body>
<script>
    console.log(window);
    //Here need to read ResponseHeader 

</script>
<p>Hello main page</p>

   

0 个答案:

没有答案