zoukankan      html  css  js  c++  java
  • 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的方法

  • 相关阅读:
    Webservice学习之新建一个最简单的Webservice项目
    初学程序一定要养成良好的习惯
    你晚上睡好了吗?
    如何面对失恋?
    多病之秋少言多饮
    转:避开秋季相冲食物
    转:饭后九不要包你保健康
    转:五官不适预示五脏衰弱
    转:过度疲劳的27个信号与预防方法
    foxmail是不是不行了?
  • 原文地址:https://www.cnblogs.com/jamsbwo/p/5345328.html
Copyright © 2011-2022 走看看