package com.bjsxt;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloReq extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取请求行里面的信息
//getRequestLine(req);
//获取请求头的信息
//getRequestHeader(req);
//获取网路信息
//getRequestWeb(req);
//获取实体内容信息
getRequestBody(req);
}
private void getRequestBody(HttpServletRequest req) {
//获取用户名密码
String uname = req.getParameter("uname");
String pwd = req.getParameter("pwd");
System.out.println("HelloReq.getRequestBody()" + uname + pwd);
//获取爱好
String[] fav = req.getParameterValues("fav");
if (fav != null) {
for (int i = 0; i < fav.length; i++) {
System.out.println("HelloReq.getRequestBody()" + fav[i]);
}
}
}
private void getRequestWeb(HttpServletRequest req) {
System.out.println("HelloReq.getRequestWeb(客户端)" + req.getRemoteAddr() + ":" + req.getRemotePort());
System.out.println("HelloReq.getRequestWeb(服务器)" + req.getLocalAddr() + ":" + req.getLocalPort());
}
private void getRequestHeader(HttpServletRequest req) {
//获取指定请求头的信息
System.out.println("HelloReq.getRequestHeader()" + req.getHeader("Connection"));
System.out.println("HelloReq.getRequestHeader()" + req.getHeader("Host"));
//获取所有的请求头信息
Enumeration headerNames = req.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headName = headerNames.nextElement();
System.out.println(headName + ":" + req.getHeader(headName));
}
}
private void getRequestLine(HttpServletRequest req) {
//获取请求方式
System.out.println("HelloReq.getRequestLine(请求方式)" + req.getMethod());
//获取资源路径
System.out.println("HelloReq.getRequestLine(服务器商资源的路径)" + req.getRequestURI());
System.out.println("HelloReq.getRequestLine(在网络中资源的整体路径)" + req.getRequestURL());
//获取Http版本号
System.out.println("HelloReq.getRequestLine(版本号:协议)" + req.getProtocol() + ":" + req.getScheme());
//获取项目名字
System.out.println("HelloReq.getRequestLine(项目的名字)" + req.getContextPath());
}
}