这两者之间有什么区别?
在JSP中:
如果不使用表达式语言和servlet编码,如何实现相同的结果?
在JSP中:
${pageContext.request.contextPath}
如果不使用表达式语言和servlet编码,如何实现相同的结果?
request.getServletPath()
如果使用JSP编码,如何实现同样的结果?
${pageContext.request.contextPath}:返回请求URI的一部分,指示请求的上下文。实际上,它与request.getContextPath()
完全相同,因为${pageContext.request}
是指当前请求的HttpServletRequest
。
例如:
http://localhost:80/myapplication/path/servlet
${pageContext.request.contextPath}
返回/myapplication
request.getServletPath()
返回调用servlet的此请求URL的部分,例如/path/servlet
${pageContext.request.servletPath}
返回/path/servlet
request.getServletPath()
是什么以及如何使用表达式语言在JSP中实现相同的效果?
request.getServletPath()
的方式:
${pageContext.request.servletPath}
如果您想通过表达式语言使用其他ServletRequest/HttpServletRequest方法,只需使用${pageContext.request.method}
,其中method是适当方法之一。
${pageContext.request.servletPath}
返回JSP的路径,而不是来自web.xml
的servlet路径。${requestScope['javax.servlet.forward.servlet_path']}