需要访问一个AuthorityServlet服务器,该Servlet服务器在web.xml中的配置为:
<servlet>
<servlet-name>AuthorityServlet</servlet-name>
<servlet-class>com.tt.javaweb.servlet.AuthorityServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AuthorityServlet</servlet-name>
<url-pattern>/authorityServlet</url-pattern>
</servlet-mapping>
很明显,url-pattern里的/代表当前WEB应用的名称:20161025,即需要以/20161025/authorityServlet访问AuthorityServlet服务器。
获取当前当前WEB应用的名称:request.getContextPath()=/20161025,(其中/代表当前站点的根目录:http://localhost:8080)
访问方式:<%= request.getContextPath() %>/authorityServlet等价于/20161025/authorityServlet,通过此方式可以访问AuthorityServlet服务器。
现在问题在于:${requestScope.contextPath }/authorityServlet为什么无法访问AuthorityServlet服务器?
难道${requestScope.contextPath }和<%= request.getContextPath() %>不相等吗?
而${requestScope.contextPath }authorityServlet却可以访问到AuthorityServlet服务器?