
1、首先在web工程里面创建一个Servlet类,继承>
如果是这样的话,我们需要使用一个 ThreadLocal 变量,我们把当前 request 的变量绑定到里面,在一个 request 请求的生命周期内我们在方法调用的各个更深的层次中都可以直接使用它而不需要在每个方法中都传递这个 request 参数,保存在某个地方就容易导致因为多个请求共用同一个实例而出问题,所有 context 相关的变量不保存在任何业务类相关并且可能被多线程共用的对象实例中才是保证不会出现线程安全问题的途径。
例如,这个例子中我们只要把 webxml 中配置好 ContextFilter 后它就会自动在请求开始时绑定一个 context,结束后自动销毁,在这中间的任何时刻我们都可以通过 MyWebContextgetCurrentContext() 得到我们的 >// MyWebContext 记录当前 Request 的所有 context 变量。因为 servlet 是一个请求绑定一个线程的,我们用 ThreadLocal 不会有线程安全问题。
class MyWebContext {
private static final ThreadLocal contexts = new ThreadLocal();
// 拿出当前线程绑定的 context
public static MyWebContext getCurrentContext() {
return (MyWebContext) contextsget();
}
public static MyWebContext createContext() {
return new MyWebContext();
}
// 绑定一个 context 到当前线程
public static void setContext(MyWebContext context) {
contextsset(context);
}
public static void clearContext() {
contextsset(null);
}
private >
getattribute(string
name):返回由name指定的属性值
getattributenames():返回request对象所有属性的名字集合,结果是一个枚举的实例
getcookies():返回客户端的所有cookie对象,结果是一个cookie数组
getcharacterencoding():返回请求中的字符编码方式
getcontentlength():返回请求的body的长度实例
getinputstream():返回请求的输入流,用于获得请求中的数据
getmethod():获得客户端向服务器端传送数据的方法
getparameter(string
name):获得客户端传送给服务器端的有name指定的参数值
getparameternames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getparametervalues(string
name):获得有name指定的参数的所有值
getprotocol():获取客户端向服务器端传送数据所依据的协议名称
getquerystring():获得查询字符串
getrequesturi():获取发出请求字符串的客户端地址
getremoteaddr():获取客户端的ip地址
getremotehost():获取客户端的名字
getsession([boolean
create]):返回和请求相关session
getservername():获取服务器的名字
getservletpath():获取客户端所请求的脚本文件的路径
例外可以在开发工具中写request后写“”
工具或自动把可以调用的方法提供给你
ActionContextgetContext()getSession()get("你要获取的属性名称")
ActionContextgetContext()get("你要获取的属性名称")
使用上述方法可以获得,下面是辅助说明。
在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet >
你应该去了解一下Servet的生命周期,以及运行机制。Servlet
先是实例化对象,在初始化init方法,最后才初始化service服务的。
如果你只是想做>
以上就是关于request中contentdescription怎么获取全部的内容,包括:request中contentdescription怎么获取、java如何在一个普通的类中获取request对象、Request对象的主要方法有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)