spring、struts获取request

原文 http://blog.csdn.net/z295304557/article/details/24771281

1.通过注解获取(很简单,推荐):

public class Hello {
@Autowired  
HttpServletRequest request; //这里可以获取到request
}

2.在web.xml中配置一个监听:

<listener>  
        <listener-class>  
            org.springframework.web.context.request.RequestContextListener  
        </listener-class>  
</listener>  

java代码:

HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();  

3.直接在参数中传递(此方法不好用,不建议使用):

public String hello(HttpServletRequest request)

4.如果有Struts:

HttpServletRequest request = ServletActionContext.getRequest(); 

 

 

我自己写了个BaseController控制器类,只要继承这个类的控制器都可以直接获取request和获取到参数

BaseController.java

package com.pzhu.jams.cmt.controller;

import java.io.Serializable;
import java.util.Enumeration;
import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.ModelAttribute;

public class BaseController implements Serializable {
	private HashMap<Object,Object> params = new HashMap();
	protected Logger logger = Logger.getLogger(BaseController.class);
	protected HttpServletRequest request;  
    protected HttpServletResponse response;
    protected HttpSession session;  
      
    @ModelAttribute  
    public void setReqAndRes(HttpServletRequest request, HttpServletResponse response) throws Exception{  
        this.request = request;  
        this.response = response;  
        this.session = request.getSession();  
    }  
	public HashMap getParams() {
		params.clear();
		Enumeration names = request.getParameterNames();
		if(names != null){
			while(names.hasMoreElements()){
				String name = (String) names.nextElement();
				String value = request.getParameter(name);
				params.put(name, value);
			}
		}
		HashMap ps = new HashMap<Object,Object>(params);
		params.clear();
		return ps;
	}
}

相当于是采用的第三种获取request的方法

转载于:https://www.cnblogs.com/jamsbwo/p/5345328.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值