1、原生httpservletrequest
例如访问地址是:http://localhost:8080/test
request.getContextPath(); 获取到工程名称: /test
request.getServletContext().getRealPath("/"); 获取到实际路径例如:E:\Java\tomcat7\apache-tomcat-7.0.55\wtpwebapps\test\
2、shiro
shiro可以直接从shiro中获取request和session
ServletRequest request = ((WebSubject)SecurityUtils.getSubject()).getServletRequest();
HttpSession httpSession = ((HttpServletRequest)request).getSession();
logger.debug("httpSession.getServletContext():"+httpSession.getServletContext());
System.out.println(httpSession.getServletContext().getRealPath("/WEB-INF"));

本文介绍了如何使用原生的httpservletrequest获取上下文路径和实际路径,以及如何通过Shiro框架获取请求和会话信息。
2577

被折叠的 条评论
为什么被折叠?



