我正在构建一个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只是为了理解什么是错的以及为什么会发生这种情况