request.getURL()跟request.getURI()以及通过request获得路径相关大全

request.getURL()和request.getURI()

  如果我的请求是:http://localhost:8080/ServletTest/servlet/Hello

  request.getRequestURI() 返回值类似:/ServletTest/servlet/Hello

  request.getRequestURL() 返回值类似:http://localhost:8080/ServletTest/servlet/Hello

  再如:

  request.getContextPath() = /ServletTest

  request.getLocalAddr() = 127.0.0.1

  request.getPathInfo() = null

  request.getPathTranslated() = null

  request.getRemoteAddr() = 127.0.0.1

  request.getRequestURI() = /ServletTest/servlet/Hello

  request.getScheme() = http

  request.getServerName() = 127.0.0.1

  request.getServletPath() = /servlet/Hello

  request.getClass() = class ornnector.RequestFacade

  request.getHeaderNames() = org.apache.tomcat.util.http.NamesEnumerator@1fb050c

  request.getLocale() = zh_CN

  request.getLocales() = org.apache.catalina.util.Enumerator@1088a1b

  request.getParameterMap() = {}

  request.getRequestURL() =

  request.getUserPrincipal() = null

  request.getParameterNames() = java.util.Hashtable$EmptyEnumerator@1db6942

  request.getRealPath("newsPub") =

  D:\zfsca\.metadata\.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat\webapps\ServletTest\newsPub

  request.getRealPath("/") =

  D:\zfsca\.metadata\.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat\webapps\ServletTest\

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用apache.commons.httpclient发送HTTP请求时,可以通过实现自定义的拦截器(Interceptor)来拦截或过滤请求,并记录URL、入参、出参等信息。具体步骤如下: 1. 创建自定义的拦截器类,实现HttpClient的Interceptor接口,覆盖intercept方法。 ```java public class MyInterceptor implements Interceptor { @Override public void intercept(HttpRequest request, byte[] body, org.apache.http.protocol.HttpContext context) throws HttpException, IOException { // 记录请求信息 System.out.println("Request URL: " + request.getRequestLine().getUri()); System.out.println("Request Body: " + new String(body, "UTF-8")); // 执行请求 HttpResponse response = Proxies.getDefault().execute(request, context); // 记录响应信息 System.out.println("Response Status: " + response.getStatusLine().getStatusCode()); System.out.println("Response Body: " + EntityUtils.toString(response.getEntity())); } } ``` 2. 使用自定义的拦截器类进行HTTP请求。 ```java HttpClient httpClient = new HttpClient(); httpClient.getHostConfiguration().setHost("www.example.com"); httpClient.getState().setCredentials(new AuthScope("www.example.com", 80), new UsernamePasswordCredentials("username", "password")); // 创建自定义的拦截器 MyInterceptor interceptor = new MyInterceptor(); // 将拦截器添加到HttpClient中 httpClient.getParams().setParameter(InterceptorList.PROTOCOL_INTERCEPTOR_LIST, Collections.singletonList(interceptor)); // 创建HTTP请求 GetMethod getMethod = new GetMethod("/test"); int statusCode = httpClient.executeMethod(getMethod); ``` 这样,当使用HttpClient发送HTTP请求时,就会自动执行自定义的拦截器,记录请求信息、响应信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值