用纯servlet和jsp开发的javaweb项目,在servlet里面用到了请求重定向,本来呢,在本地服务器运行都没问题,但是一部署到云服务器上,就访问不了了,后来仔细查看了运行日志,发现在每次后台重定向页面的时候出错,再检查重定向语句,发现问题在于重定向的路径写法上,先看一下原来的:
![]()
原来的是这么写的,但是在服务器上每次访问cart.jsp都会404,现在改成这样:
![]()
可以看到,只是去掉了它前面的 / ,就可以访问了,那这个到底是什么原因呢?
原来啊,是相对路径的问题,我们知道,url中有相对路径和绝对路径的区别,不只是加上项目名的就是绝对路径,还有如上面第一个图,jsp前面的 / 在这里也是默认代表项目名,所以在请求转发的时候其实访问的是绝对路径,但是我们这里要的是相对路径,所以只需要去掉前面的 / 就可以啦,真是整的人脑阔疼。。。
本文详细解析了在JavaWeb项目中使用Servlet进行页面重定向时遇到的问题,特别是在云服务器部署后出现的404错误。通过对比本地与远程服务器上的表现,发现了重定向路径设置的误区,即相对路径与绝对路径的混淆。文章最后给出了正确的路径写法,帮助开发者避免此类错误。

673

被折叠的 条评论
为什么被折叠?



