public class DemoServlet01 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//1.获取HTTP请求消息中的请求方式
System.out.println("请求方式:" + request.getMethod());
//2.获取请求行中资源名称部分
System.out.println("资源部分= url:" + request.getRequestURL());
//3.获取请求行中的参数部分
System.out.println("请求行中的参数:" + request.getQueryString());
//4.获取请求行的协议和版本
System.out.println("请求的协议个版本:"+request.getProtocol());
//5.获取WEB应用程序的路径
System.out.println("获取应用程序的路径:"+ request.getContextPath());
//6.获取Servlet的名称或Servlet所映射的路径
System.out.println("获取Servlet的名称:"+request.getServerName());
System.out.println( "路径:" + request.getServletPath());
//7.获取请求客户端的IP地址
System.out.println("获取客户端的IP地址:" + request.getRemoteAddr());
//8.获取请求客户端的完整主机名
System.out.println("获取请求客户端的完整主机名:" + request.getRemoteHost());
//9.获取请求客户端网络连接的端口号
System.out.println("客户端网络连接的端口号:" + request.getRemotePort());
//10.获取Web服务器上接收当前请求网络连接的IP地址
System.out.println("接收当前请求网络连接的IP地址:" + request.getLocalAddr());
//11.获取Web服务器上接收当前网络连接IP所对应的主机名
System.out.println("接收当前网络连接IP所对应的主机名:"+request.getLocalName());
//12.获取Web服务器上接收当前网络连接的端口号
System.out.println("获取Web服务器上接收当前网络连接的端口号:" + request.getLocalPort());
//13.获取当前请求所指向的主机名
System.out.println("获取当前请求所指向的主机名:" + request.getServerName());
//14.获取当前请求所连接的服务器端口号
System.out.println("获取当前请求所连接的服务器端口号:" + request.getServerPort());
//15.获取请求的协议名
System.out.println("获取请求的协议名:" + request.getScheme());
//16.获取客户端发出请求时的完整URL
System.out.println("获取客户端发出请求时的完整URL:" + request.getRequestURL());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public class DemoServlet02 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("text/html;charset=utf-8");
//1.获取一个指定头字段值
System.out.println(request.getHeader("host"));
//2.获取指定头字段的多个值
Enumeration<String> names = request.getHeaderNames();
while(names.hasMoreElements()){
System.out.println(names.nextElement());
}
//3. 获取请求头中所有的请求头字段的名称
Enumeration<String> list = request.getHeaderNames();//所有的键
while(list.hasMoreElements()){
String name = list.nextElement();
String header = request.getHeader(name);
response.getWriter().println(name + " === " + header + "<br/>");
}
//4.获取指定名称参数
System.out.println("获取指定名称参数"+request.getParameter("username"));
//5.获取所有参数名
Enumeration<String> parameterNames = request.getParameterNames();
//6.获取多个参数值
System.out.println(Arrays.toString(request.getParameterValues("aihao")));
//7.用于将请求消息中的所有参数名和值装入进一个Map对象中返回
Map<String, String[]> map = request.getParameterMap();
for (String key : map.keySet()) {
System.out.println(key + "--" + map.get(key));
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}