导航:首页 > 编程语言 > javarequest类

javarequest类

发布时间:2024-09-07 15:48:28

java类中request.getParamater("a")获取jsp页面url传递的参数,编码问题。

因为URL采用ISO-8859-1编码,所以得把它转换成与页面相同的编码方式。
获取的值转码试试看
比如:
str=new String(str.getBytes("iso-8859-1"),("gb2312"));

❷ 如何用java判断浏览器类型

用java判断浏览器类型可以通过从request里可以获取用户浏览器类型

代码如下:

Enumerationgete=request.getHeaderNames();
while(e.hasMoreElements()){
Stringname=(String)gete.nextElement();
Stringvalue=request.getHeader(name);
}

这样可以遍历从客户端传来的所有头信息:

解释说明:

  1. request.getHeaderNames();//取得全部头信息

  2. request.getHeader();//取出头信息内容

  3. request.getHeaders("User-Agent"); //request.getHeader(“User-agent”)返回客户端浏览器的版本号

❸ java如何在一个普通的类中获取request对象

你是指你的 web 项目中使用到一个工具性的类,它的形参中没有 HttpRequest 或 HttpSession 参数?


如果是这样的话,我们需要使用一个 ThreadLocal 变量,我们把当前 request 的变量绑定到里面,在一个 request 请求的生命周期内我们在方法调用的各个更深的层次中都可以直接使用它而不需要在每个方法中都传递这个 request 参数,保存在某个地方就容易导致因为多个请求共用同一个实例而出问题,所有 context 相关的变量不保存在任何业务类相关并且可能被多线程共用的对象实例中才是保证不会出现线程安全问题的途径。


例如,这个例子中我们只要把web.xml中配置好 ContextFilter 后它就会自动在请求开始时绑定一个 context,结束后自动销毁,在这中间的任何时刻我们都可以通过 MyWebContext.getCurrentContext() 得到我们的 HttpServletRequest 实例和其它相关的 context 变量:

//MyWebContext记录当前Request的所有context变量。因为servlet是一个请求绑定一个线程的,我们用ThreadLocal不会有线程安全问题。

classMyWebContext{
=newThreadLocal();

//拿出当前线程绑定的context
(){
return(MyWebContext)contexts.get();
}
(){
returnnewMyWebContext();
}

//绑定一个context到当前线程
publicstaticvoidsetContext(MyWebContextcontext){
contexts.set(context);
}
publicstaticvoidclearContext(){
contexts.set(null);
}

privateHttpRequestrequest;
publicvoidsetRequest(HttpRequestrequest){
this.request=request;
}
publicHttpRequestgetRequest(){
returnthis.request;
}
}

{
publicvoiddoFilter(ServletRequest,SerlvetResponse,FilterChainchain){
//创建并绑定我们的context
MyWebContextcontext=MyWebContext.createContext();
context.setRequest(request);
MyWebContext.setContext(context);
try{
chain.doFilter(request,response);
}finally{
//销毁context
MyWebContext.clearContext();
}
}
}

{
(){
//其它方法只要它是工作在servlet请求调用键中间的某个时刻,它就肯定能拿到Filter绑定进去的Request,这样我们就不必要在每次方法调用中都额外地传递一个HttpRequest参数,当调用层次很深时这能明显减少复杂性。

MyWebContextcontex=MyWebContext.getCurrentContext();

HttpRequestrequest=context.getRequest();

=...;
HttpSessionsession=request.getSession(false);
...

}
}

❹ java里,request.getRequestURI().indexOf是什么意思

request:请求
getRequestURI:获取请求的url
indexOf(str):求字符串内str出现的位置下标
所以:request.getRequestURI().indexOf("1.jsp")的意思就是,求请求的url内“1.jsp”的位置,返回的是一个数字,代表出现的位置,-1表示不存在。通常和-1比较来表示是否包含指定的页面,常用于过滤器。
例:if(request.getRequestURI().indexOf("1.jsp")){
filterChain.doFilter(request,response);//给1.jsp放行

}else{
xxxxxx//不放行,进行别的操作

}

❺ Java 怎么在一个普通类中获取到Request对象

首先,向你确认你所谓的普通类就是POJO吗,如果是是无法获取Request对象的。
不过,可以使用参数传递的方式。

Request对象,即ServletRequest,隶属于javax包下的,需要实现其HttpServletRequest接口才能获取到Request对象

故在普通java类中是无法获取到request对象的

望参考

阅读全文

与javarequest类相关的资料

热点内容
河南省云服务器云空间 浏览:316
阿伯特犹太人智慧书张平编译 浏览:942
如何查询华为服务器管理口ip 浏览:434
电商源码分享 浏览:997
管线命令 浏览:572
m代码编译 浏览:882
端口通信命令 浏览:898
什么app看球赛无延迟 浏览:739
命令行编辑器 浏览:230
android打谱 浏览:402
密室大逃脱在什么app里面是免费的 浏览:984
ecs云服务器ftp 浏览:628
邮绪生活app什么意思 浏览:471
如何知晓服务器是否更新完成 浏览:949
北票女程序员 浏览:463
战地2枪械解压 浏览:43
pdf复选框 浏览:343
linux用户监控 浏览:35
化妆教程编译 浏览:133
python分组键的形式 浏览:721