如果我们在jsp页面中用href进行跳转,那么如果项目有虚拟目录则必须写上,如果问为什么,请看上篇博客,具体方法三种:
1.${pageContext.request.contextPath} 也是大家用的最多的这种,通过el里面的十一个内置对象中的pageContext来获取request,再通过被tomact经http请求封装的request获取请求头特有的方法getServletPath(),去掉get,首字母变小写所得
2.<%=request.getContextPath()==null?"":request.getContextPath()%>
这种则是jsp最原始的方式,不同于1和3里面的el表达式,jsp中直接写java代码不进行任何简化
3.${requestScope.contextPath}这种不是用pageContext来获取request,是直接用el里面的内置对象来进行获取,但是目前这种获取方式虽说理论上我觉得可以,但是实际应用并不行,我觉得主要是因为requestScope没有set get的contextpath方法,为什么不设置呢,我也不知道,所以也就只有两种了