写个filter,让你在哪怕是javabean中都可以随便读取http请求信息
package
com.test.web.filter;

import
java.io.IOException;
import
javax.servlet.Filter;
import
javax.servlet.FilterChain;
import
javax.servlet.FilterConfig;
import
javax.servlet.ServletException;
import
javax.servlet.ServletRequest;
import
javax.servlet.ServletResponse;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
javax.servlet.http.HttpSession;


/** */
/**
* 处理字符转码,提供给Spring AOP或其它任何通过web请求加载的实例类中读取http相关信息
* @author 裴贺先
*
*/

public
class
CommonFilter
implements
Filter
...
{
private FilterConfig config = null;
private String defaultEncode = "UTF-8";
private static final String CHARSET_ENCODE_PARAM_NAME="Charset";

private static ThreadLocal<HttpServletRequest> requests = new ThreadLocal<HttpServletRequest>();
private static ThreadLocal<HttpServletResponse> responses = new ThreadLocal<HttpServletResponse>();


public static HttpServletRequest getRequest() ...{
return (HttpServletRequest) requests.get();
}


public static HttpServletResponse getResponse() ...{
return (HttpServletResponse) responses.get();
}


public static HttpSession getSession() ...{
return (HttpSession) getRequest().getSession();
}


public static HttpSession getSession(boolean create) ...{
return (HttpSession) getRequest().getSession(create);
}


public void init(FilterConfig config) throws ServletException ...{
this.config = config;

if (this.config.getInitParameter(CHARSET_ENCODE_PARAM_NAME) != null) ...{
defaultEncode = config.getInitParameter(CHARSET_ENCODE_PARAM_NAME);
}
}

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException ...{
ServletRequest srequest = request;
srequest.setCharacterEncoding(defaultEncode);
requests.set((HttpServletRequest) request);
responses.set((HttpServletResponse) response);
chain.doFilter(srequest, response);
}


public void destroy() ...{
this.config = null;

}

}

<
filter
>
<
filter-name
>
Common Filter
</
filter-name
>
<
filter-class
>
com.test.web.filter.CommonFilter
</
filter-class
>
<
init-param
>
<
param-name
>
Charset
</
param-name
>
<
param-value
>
UTF-8
</
param-value
>
</
init-param
>
</
filter
>

<
filter-mapping
>
<
filter-name
>
Common Filter
</
filter-name
>
<
url-pattern
>
/*
</
url-pattern
>
</
filter-mapping
>


logger.debug(CommonFilter.getRequest().getRemoteHost());





























































































以后在任何程序中,比如就是普通的javabean中要使用时
