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的方法

  • 相关阅读:
    2015.10.9js(页面坐标)
    2015.8.2js-19(完美运动框架)
    2015.7.12js-11(DOM基础)
    2015.7.7js-07-2(基础)
    2015.7.11js-10(无缝滚动)
    2015.7.10js-07(简单时间)
    2015.7.8js-05(简单日历)
    2015-7.7森林探秘季
    jquery scroll()滚动条事件
    资源(127.0.0.1)处于联机状态,但未对连接尝试做出反应
  • 原文地址:https://www.cnblogs.com/jamsbwo/p/5345328.html
Copyright © 2011-2022 走看看