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);
...
}
}以上就是小编今天的分享了,希望可以帮助到大家。