目录
1. getMethod()
作用:获取请求方式
结果:GET或POST
- 例
//获取请求方式
String method = request.getMethod();
System.out.println(method);
结果:GET
2. getContextPath() (重点)
作用:获取虚拟目录
解释:就是Tomcat部署该项目的应用程序上下文
图文解析:
- 例
//获取虚拟目录
String contextPath = request.getContextPath();
System.out.println(contextPath);
结果:/servlet
3. getServletPath()
作用:获取Servlet路径
@WebServlet("/requestDemo1")
说明:结果就是注解中的value值
- 例
//获取Servlet路径
String servletPath = request.getServletPath();
System.out.println(servletPath);
结果:/requestDemo1
4. getQueryString()
获取get方式的请求参数
- 例
访问地址:http://localhost/servlet/requestDemo1?name=zhangsan
//获取get方式的请求参数
String query = request.getQueryString();
System.out.println(query);
结果:name=zhangsan
补充:get方式的请求,访问地址?之后就是各项参数
5. getRequestURI() (重点)
获取请求URI
- 例
//获取请求URI
String uri = request.getRequestURI();
System.out.println(uri);
结果:/servlet/requestDemo1
补充:
URI:统一资源标识符
URL:统一资源定位符
6. getRequestURL()
获取请求URL
- 例
//获取请求URL
StringBuffer requestURL = request.getRequestURL();
System.out.println(requestURL);
结果:http://localhost/servlet/requestDemo1
7. getProtocol()
获取协议及版本
- 例
//获取协议及版本
String protocol = request.getProtocol();
System.out.println(protocol);
结果:HTTP/1.1
8. getRemoteAddr()
作用:获取客户机的ip地址
- 例
//获取客户机的ip地址
String remoteAddr = request.getRemoteAddr();
System.out.println(remoteAddr);
结果:0:0:0:0:0:0:0:1
解析:因为是自己的浏览器访问自己的服务器,所以是这个结果,
测试完整代码及结果
servlet代码
@WebServlet("/requestDemo1")
public class RequestDemo1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取请求方式
String method = request.getMethod();
System.out.println(method);
//获取虚拟目录
String contextPath = request.getContextPath();
System.out.println(contextPath);
//获取Servlet路径
String servletPath = request.getServletPath();
System.out.println(servletPath);
//获取get方式的请求参数
String query = request.getQueryString();
System.out.println(query);
//获取请求URI
String uri = request.getRequestURI();
System.out.println(uri);
//获取请求URL
String url = request.getRequestURI();
System.out.println(url);
//获取协议及版本
String protocol = request.getProtocol();
System.out.println(protocol);
//获取客户机的ip地址
String remoteAddr = request.getRemoteAddr();
System.out.println(remoteAddr);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
ip地址:http://localhost/servlet/requestDemo1?name=zhangsan
结果:
GET
/servlet
/requestDemo1
name=zhangsan
/servlet/requestDemo1
http://localhost/servlet/requestDemo1
HTTP/1.1
0:0:0:0:0:0:0:1