Java Web HttpServletResponse sendRedirect&当给出正确的URL时,HttpServletRequest getRequestDispatcher.foward不起作用

时间:2018-03-12 07:49:59

标签: java jsp servlets web response

我正在构建一个Java Web项目,我需要重定向一个页面,唯一的事情是我无法从jsp文件重定向页面。 我尝试使用以下基本方法SendRedirect | getRequestDispatcher.foward | setStatus& setHeader但它们都不起作用?

IDE是Netbeans 8.2(我听说java Web项目在版本8.2上运行不好吗?)
数据库是Mysql

.jsp的代码

 <body>
    <h1>Hello World!</h1>
    <input type="button" value="Login" onclick="foo()" />

    <script>
        function foo(){
            var req = new XMLHttpRequest();
            req.open("POST","svLogin",true);
            req.send();
            alert('gg');
        }
    </script>
</body>

svLogin.java(servlet)的代码

 protected void doPost(HttpServletRequest request, HttpServletResponse response) {
    try {
        System.out.println("xx");
        response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
        response.setHeader("Location", "/project_2/chat.jsp");

/* THIS DOESNT WORK 
String nextJSP = "/project_2/chat.jsp";
        RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
            dispatcher.forward(req, resp);
*/

/* this doesnt work either
response.sendRedirect("/project_2/chat.jsp");
*/

    } catch (Exception e) {
        e.printStackTrace();
    }

}

问题:当我使用sendRedirect,getrequestdispatcher或setStatus&amp;的setHeader

*如果我为重定向提供了正确的URL,绝对没有任何反应。

*如果我为重定向提供了错误的网址,那么它会在控制台上显示404错误,就是这样。

*添加一个return语句什么都不做btw

老实说,在这一点上,我愿意skype只是为了理解什么是错的以及为什么会发生这种情况

0 个答案:

没有答案