java request是什么?让我们一起来了解一下吧!
java request是属于ninja.siden包。request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息。request对象是javax.servlet.http.HttpServletRequest类的实现实例。
Request常用方法:
1、获得客户机信息
2、获得客户机请求头
3、获得客户机请求参数(客户端提交的数据)
实战演练,具体步骤如下:
class MyWebContext {undefined private static final ThreadLocal contexts = new ThreadLocal(); // 拿出当前线程绑定的 context public static MyWebContext getCurrentContext() {undefined return (MyWebContext) contexts.get(); } public static MyWebContext createContext() {undefined return new MyWebContext(); } // 绑定一个 context 到当前线程 public static void setContext(MyWebContext context) {undefined contexts.set(context); } public static void clearContext() {undefined contexts.set(null); } private HttpRequest request; public void setRequest(HttpRequest request) {undefined this.request = request; } public HttpRequest getRequest() {undefined return this.request; } } class ContextFilter implements Filter {undefined public void doFilter(ServletRequest, SerlvetResponse, FilterChain chain) {undefined // 创建并绑定我们的 context MyWebContext context = MyWebContext.createContext(); context.setRequest(request); MyWebContext.setContext(context); try {undefined chain.doFilter(request, response); } finally {undefined // 销毁 context MyWebContext.clearContext(); } } } class MyToolClassWithoutRequestParameter {undefined public static String getFileUploadPath() {undefined // 其它方法只要它是工作在 servlet 请求调用键中间的某个时刻,它就肯定能拿到 Filter 绑定进去的 Request,这样我们就不必要在每次方法调用中都额外地传递一个 HttpRequest 参数,当调用层次很深时这能明显减少复杂性。 MyWebContext contex = MyWebContext.getCurrentContext(); HttpRequest request = context.getRequest(); HttpServletContext servletContext = ...; HttpSession session = request.getSession(false); ... } }
以上就是小编今天的分享了,希望可以帮助到大家。