问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么获取httpservletrequest

发布网友 发布时间:2022-04-29 22:02

我来回答

2个回答

热心网友 时间:2022-06-23 23:25

1、request.getRequestURL()

返回的是完整的url,包括Http协议,端口号,servlet名字和映射路径,但它不包含请求参数。
2、request.getRequestURI()

得到的是request URL的部分值,并且web容器没有decode过的

3、request.getContextPath() 
返回 the context of the request.

4、request.getServletPath() 
返回调用servlet的部分url.

5、request.getQueryString() 
返回url路径后面的查询字符串

示例:

当前url:http://localhost:8080/CarsiLogCenter_new/idpstat.jsp?action=idp.sptopn

request.getRequestURL() http://localhost:8080/CarsiLogCenter_new/idpstat.jsp
request.getRequestURI() /CarsiLogCenter_new/idpstat.jsp
request.getContextPath()/CarsiLogCenter_newrequest.getServletPath() /idpstat.jsp
request.getQueryString()action=idp.sptopn

热心网友 时间:2022-06-23 23:25

在RequestContextListener类中有如下代码,其中红色标注的为关键代码:

public class RequestContextListener implements ServletRequestListener {

...
...
...

public void requestInitialized(ServletRequestEvent requestEvent) {
if (!(requestEvent.getServletRequest() instanceof HttpServletRequest)) {
throw new IllegalArgumentException("");
}
HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();
ServletRequestAttributes attributes = new ServletRequestAttributes(request);
request.setAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE, attributes);
LocaleContextHolder.setLocale(request.getLocale());
RequestContextHolder.setRequestAttributes(attributes);
}
...
...
...
}

public class ServletRequestAttributes extends AbstractRequestAttributes {

...
...
...

private final HttpServletRequest request;

...
...
...

/**
* Create a new ServletRequestAttributes instance for the given request.
* @param request current HTTP request
*/
public ServletRequestAttributes(HttpServletRequest request) {
Assert.notNull(request, "Request must not be null");
this.request = request;
}
}

2、在普通类中获取对象

HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
易企秀如何分享链接给微信好友?-易企秀分享链接给微信好友的方法 华为荣耀3c系统辅助功能服务老是自动关闭,求解决方案。 我用一键清理忽... 华为荣耀3c手机双击唤醒屏幕不好用了怎么办? 荣耀手机刷机包从哪下 木地板为啥走过会响 瓷砖块要斜成几度角人踩上去不会烂 刚出生的婴儿肚子胀怎么办 新生儿涨肚子按摩图 刚生小宝宝胀气怎么办 白果怎么炒好吃 白果可以制作哪些美食 windbg怎样挂起exe程序 耳朵里面经常痒的受不了,又掏不出来东西,有时掏的时候里面还会有嘣嘣的响声,是咋回事啊? 防止妻子出轨的方法,在古时候有多惨无人道呢? 请问高人,这两个是什么意思,还有ABS灯也亮着 耳朵感觉有耳屎老响,但掏不出来怎么办 又被套牢了·,麻烦老师赐教600239云南城投的股票,谢谢 人妇刑最怕那个刑 刺穿刑的历史事件 耳朵里老是像堵了东西一样,呼吸时哄哄的响,掏耳朵又没有东西,是怎么回事 隋末文佳皇帝陈硕贞是怎么回事啊? 我等你意大利语 耳屎老是响是怎么回事,就这两天开始,但掏耳朵又掏不出什么,什么情况 600239云南城投后市如何操作? 疫情期间怎么发朋友圈卖小龙虾 用木槌击妇人胸腹,即有一物坠而掩闭其牝户,只能便溺,而人道永废矣”,是什么意思。。? 的里雅斯特的历史 老听见耳朵里有耳屎在响但就是掏不出来,咋回事? 云南城投(600239)成本8.47,长江证券(000783)成本14.06,帮忙看看短期内能解套 马上快端午节了自己做的龙虾发个朋友圈怎么做个开头白? 好听的男生英文名 中文名字叫做刘家顺 关于逆境不屈的名言、诗歌、故事 耳朵里有耳屎,总是响也弄不出来怎么办 初三二次函数增减性:当X<__时,y随着x的增大而__.当x>__时,y随着x的增大而__. 中国历史上第一位女皇帝陈硕真的详细介绍? 谁可以把NBA奥本山宫殿打架事件具体描述给我听? 耳朵里有东西挖不出来,老是嗦嗦的响,睡觉都睡不好。怎么办呢? 求意大利歌曲e l'alba verrà 讲的是什么故事? 文佳皇帝是谁 总感觉耳朵里有东西响但还掏不出来怎么回事 关于Ania-El'alba Verrc 以前有姓陈的皇帝吗?(介绍) Prendimi così, prendimi così dal niente. 耳朵里好像有东西,有时有点痒,太阳晒了又有点痛。去掏有掏不出来,里面掏时还在响。是怎么回事。 最近耳朵里面老疼的很,而且还有水咕咚想的声音,掏耳朵又掏不出东西来! 耳朵里有大块耳屎掏不出来,现在耳朵里呼噜呼噜老响,怎么办? 华为nove4e开不了机 长按会振动但无显示 有时候可以听到短信声但还是没... 一个手机如何同时登录两个? 一个微信可以同时登录两个吗? 如何同时登两个 外贸企业和生产企业或者内贸企业相比,核心竞争力有哪些区别?