
如何在一个类中获取HttpServletRequest 对象
通过ServletActionContext直接获取:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
import java.util.Map;
public class UserAction extends ActionSupport {
private HttpServletRequest request;
private HttpServletResponse response;
public String addUser() throws Exception {
/*
采用ActionContext则为
<Map> request =(Map)ActionContext().getContext().get(“request”);
*/
request = ServletActionContext().getRequest();
String name = request.getParameter("name");
}
}
普通类中获取request对象方法:
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = sra.getRequest();
SpringMVC控制层框架中获取request对象只要在方法名后面的括号中写上参数类型和对象名称就可以自动获取了
String requestUri = request.getRequestURI();//得到请求的资源
String queryString = request.getQueryString();//得到请求的URL地址中附带的参数
String remoteAddr = request.getRemoteAddr();//得到来访者的IP地址 String remoteHost = request.getRemoteHost();
int remotePort = request.getRemotePort();
String remoteUser = request.getRemoteUser();
String method = request.getMethod();//得到请求URL地址时使用的方法 String pathInfo = request.getPathInfo();
String localAddr = request.getLocalAddr();//获取WEB服务器的IP地址 String localName = request.getLocalName();//获取WEB服务器的主机名