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

  • 相关阅读:
    Sql server Always On 读写分离配置方法
    MSSQL AlwaysOn中的“主角色中的连接”和“可读辅助副本”
    Windows Server 2019 Active Directory (AD域)时间不同步的解决方法
    windows server 2008 R2 域中用组策略隐藏指定磁盘驱动器(盘符)
    pg数据库优化
    Qlik
    如何查看数据库特别慢
    针对数量的null值最好要做变0处理
    pg如何实现月份的加减
    sql
  • 原文地址:https://www.cnblogs.com/jamsbwo/p/5345328.html
Copyright © 2011-2022 走看看