一、现象与概念
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页面的路径问题(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:- Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析
- JSP 开发之THE SERVLET NAME ALREADY EXISTS.解决方法
- JSP中通过Servlet 将服务器硬盘图片并展示到浏览器
- Jsp+Servlet实现购物车功能
- JSP 开发之Servlet解决网页缓存问题
- JSP 开发之servlet中调用注入spring管理的dao
- JSP开发Servlet重写init()方法实例详解
- JSP 中Servlet的自己实现