javaweb项目的jsp页面跳转问题

来源:互联网 发布:城乡统筹发展数据 编辑:程序博客网 时间:2024/05/21 17:13


在编写自己的第一个javaweb项目的时候,出现了可以加载首页面,但是当点击注册按钮的时候,页面跳转出现了问题,报错是status404




这个就代表着找不到正确的页面路径,于是自己在网上查了很多解释,都没有解决,非常苦恼。但突然一次恍然大悟,发现了问题的根本原因:就是自己的jsp文件存放位置出错了


这是错误的存放位置(这种存放位置就代表着jsp文件存放在WEB-INF文件夹下)


于是自己改变了一下存放路径就变成(改到了web文件夹下,就是和生成的index.jsp文件相同目录的文件夹下)


于是重新运行项目,然后jsp页面跳转问题就迎刃而解了。

对于遇到的同样的问题,希望能给大家一些帮助。


然后自己也随便带一点jsp页面跳转的几种方法(毕竟都是看各种大神的总结后的一点小体会)

下面是三种js页面的跳转方式:

        1、window.location.href="URL";
        2、window.navigate("URL")
        3、window.location.replace("URL")

相信对于第一种window.location.href="URL"大家都不陌生,这里就不多做介绍。第二种window.navigate("URL")这种方式只兼容于IE浏览器,不支持火狐啊、谷歌什么的。


这里面需要说一下的是window.location.replace(“URL”),我们举例说明一下:假如我们有三个界面,1.jsp;2.jsp;3.jsp,当我们设置好从1.jsp用herf跳转到2.jsp(前提2上面用了window.location.replace(“3.jsp”),那我们会直接到界面3,貌似看上去和window.location.herf=”URL”差不多,但是当我们点击上一步时,也就是调用window.history.go(-1); wondow.history.back();方法的时候就会知道,我们直接回到界面1了而不是界面2。


JSP 跳转方式大约有三种:

1、转发request.getRequestDispatcher(".jsp").forward(request,response);

2、重定向:response.sendRedirect("success.jsp");  
注意事项:1、此语句前不允许有out.flush(),如果有,会有异常:
2、这里跳转后,浏览器地址栏会发生变化,意味着url发生变化3、要是跳到别的主机上,那语句后面的代码会继续执行,相当于开了一个新的线程,但是对于response就没有意义了,因为你看不到了。
这两者区别:
request.getRequestDispatcher()是请求转发,前后页面共享一个request

response.sendRedirect()是重新定向  前后页面不是一个request
3<jsp:forward page="URL"/>注意事项:1、此语句前也不允许有out.flush(),如果有,会有异常:2、跳转后浏览器地址栏不变,但是只能跳到当前主机下3、此语句后面的语句执行完成后才会跳转  4、跳转后得路径变为当前路径,图片不是绝对路径将无法显示