浅谈Servlet转发到JSP页面的路径问题(必看)
程序员文章站
2023-11-17 23:27:58
一、现象与概念
1. 问题
在servlet转发到jsp页面时,此时浏览器地址栏上显示的是servlet的路径,而若jsp页面的超链接还是相对于该jsp页面的地址且该s...
一、现象与概念
1. 问题
在servlet转发到jsp页面时,此时浏览器地址栏上显示的是servlet的路径,而若jsp页面的超链接还是相对于该jsp页面的地址且该servlet和该jsp页面不在同一个文件夹下时,则会出现路径混乱问题。
2. 绝对路径概念
相对于contextpath(当前web应用的上下文)的路径。
解决方案:超链接用绝对路径而不是相对路径。若/代表的是站点的根目录,在其前面加上contextpath。
<a href="<%= request.getcontextpath() %>/testservlet" rel="external nofollow" >to b</a>
二、javaweb开发中的'/'含义总结
1. 当前web应用的根路径
'/'代表http://localhost:8080/contextpath/ :由servlet来处理的地址
1)转发:request.getrequestdispatcher("/path/b.jsp").forword(request, response);
2)web.xml文件中映射servlet访问路径
<servlet-mapping> <servlet-name>testservlet</servlet-name> <url-pattern>/testservlet</url-pattern> </servlet-mapping>
3)各种定制标签中的'/'。
2. web站点的根路径
'/'代表http://localhost:8080/ :由浏览器来处理的地址
1)超链接:<a href="/testservlet" rel="external nofollow" >to b</a>
2)form标签中的action:<form action="/b.jsp">
3)重定向:response.sendredirect("/b.jsp");
以上这篇浅谈servlet转发到jsp页面的路径问题(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。