IT源码网

关于跳转时页面的路径问题

luoye 2021年04月03日 程序员 394 0

requestDispatcher   对象可以有两中方式获得
1.通过request对象的getRequestDispatcher方法获得
2.通过ServletContext的getRequestDispatcher方法获得,但是这个方法获得的requestDispatcher   对象中的path必须以“/”开头,代表应用程序根目录,而第一中方法获得的requestDispatcher   对象则没有这种限制

不管是那种方式获得的,只要以 "/ "开头就代表应用程序根目录。你的问题出在jsp页面中链接和图片的路径使用都是相对路径,转向后的相对路径还是相对于你的Servlet所在的路径
比如你的servlet的地址是/servlet/myservlet,重定向到/aaa/bbb/myjsp.jsp后,这个jsp页面中图片的相对路径是img/aa.jpg,则此时图片的完整路径就变成了/servlet/img/aa.jpg,所以就显示不出来了。解决方案是把图片的路径写成 <img   src= <%=request.getContextPath()%> "/img/aa.jpg "> 或者 <img   src=${pageContext.request.contextPath} "/img/aa.jpg "> ,其它的链接也得改 

 

forword()与redirect()的不同 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!