您的位置:首页 > 编程语言 > Java开发

javaweb项目的jsp页面跳转问题

2017-05-17 19:21 1011 查看
在编写自己的第一个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、跳转后得路径变为当前路径,图片不是绝对路径将无法显示








 


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java web
相关文章推荐