1、一般来讲,在使用Java EE时,在创建jsp页面时会自动为我们创建以下代码。在写代码规定了页面的语言,导入的包,编码格式等。最重要的就是basePath
了
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
在使用basePath
时,我们需要将 <base href="<%=basePath%>"/>
引入到html页面中的头部,即head的双标签里。在后面书写路径时,直接可以省去项目名/虚拟项目名的书写(相对路径)
例如:location.href="duty?method=exportXls&empId="+empId+"&deptno="+deptno+"&dtDate="+dtDate;
可以看到跳转的连接是没有加项目名的
2、如果导入的项目中没有basepath则需要用到${pageContext.request.contextPath}来自动获取获取当前的项目名(相对路径)
列如:
<a href="${pageContext.request.contextPath}/springmvc/hello">点击我呀!</a>
这样写获取的是绝对路径。