工作中用的是SSM的框架,在Controller层中我们经常需要对传过来的HttpServletRequest 进行操作,下面总结了一些通过HttpServletRequest 获得各种路径的方法:
package cn.com.kingc.eoms.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/Upload")
public class FileUploadController {
@RequestMapping(value = "/fileUpload")
@ResponseBody
public void upload(@RequestBody HttpServletRequest request) {
// 假设请求的url为http://127.0.0.1:8080/EOMS/Upload/fileUpload
String LocalAddr = request.getLocalAddr();// 返回服务器ip
request.getRemoteAddr();// 返回客户机ip
String path1 = request.getContextPath();
System.out.println(path1); // /EOMS
String servletPath = request.getServletPath();
System.out.println(servletPath); // /Upload/fileUpload
String realPath = request.getServletContext().getRealPath("/");
System.out.println(realPath); // G:\apache-tomcat-8.0.45\webapps\EOMS
request.getServletContext().getRealPath("/WEB-INF");//G:\apache-tomcat-8.0.45\webapps\EOMS\WEB-INF
}
}