一.Eclipse集成Tomcat
二.创建Javaweb项目
File--New--Dynamic Web Project
next-next
Finish!
三.部署web项目到Tomcat上
项目右击New--Servlet
Finish以后,会自动生成以下代码
修改doGet()方法
String ua = request.getHeader("User-Agent");
System.out.println("User-Agent: " + ua);
完整代码如下:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class GetHttpHeader
*/
@WebServlet("/GetHttpHeader")
public class GetHttpHeader extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetHttpHeader() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
String ua = request.getHeader("User-Agent");
System.out.println("User-Agent: " + ua);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
在左侧Java文件上右击,Run As-->Run on server
添加到右边,表示项目发布到服务器(左侧表示未发布的,右侧表示发布)
Add添加至右边后,点击Finish后,直接运行
运行结果,控制台显示如下(同时浏览器会自动打开网址http://localhost:8081/test/GetHttpHeader)
运行后默认打开浏览器,然后在控制台输出相关信息。
也可以不打开浏览器,运行后通过手动打开浏览器输入地址后http://localhost:8081/test/GetHttpHeader,或者http://127.0.0.1:8080/test/GetHttpHeader 才在控制台输出相关信息:
步骤如下:java文件右击--Run As-->Run Configurations
-------------------------------------------------------------
获取HTTP所有请求头信息(同样修改doGet()方法即可)
完整代码如下:
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class GetHttpHeader
*/
@WebServlet("/GetHttpHeader")
public class GetHttpHeader extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetHttpHeader() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
System.out.println("-----------获取单个请求头信息-----");
String ua = request.getHeader("User-Agent");
System.out.println("User-Agent: " + ua);
System.out.println("-----------获取所有请求头信息-----");
Enumeration
while (headers.hasMoreElements()) {
String headerName = headers.nextElement();
String headerValue = request.getHeader(headerName);
System.out.println(headerName + ": " + headerValue);
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
运行结果
--------------------------------其他信息获取-----------------------------------
System.out.println("浏览器基本信息:"+request.getHeader("user-agent"));
System.out.println("客户端系统名称:"+System.getProperty("os.name"));
System.out.println("客户端系统版本:"+System.getProperty("os.version"));
System.out.println("客户端操作系统位数:"+System.getProperty("os.arch"));
System.out.println("HTTP协议版本:"+request.getProtocol());
System.out.println("请求编码格式:"+request.getCharacterEncoding());
System.out.println("Accept:"+request.getHeader("Accept"));
System.out.println("Accept-语言:"+request.getHeader("Accept-Language"));
System.out.println("Accept-编码:"+request.getHeader("Accept-Encoding"));
System.out.println("Connection:"+request.getHeader("Connection"));
System.out.println("Cookie:"+request.getHeader("Cookie"));
System.out.println("客户端发出请求时的完整URL"+request.getRequestURL());
System.out.println("请求行中的资源名部分"+request.getRequestURI());
System.out.println("请求行中的参数部分"+request.getRemoteAddr());
System.out.println("客户机所使用的网络端口号"+request.getRemotePort());
System.out.println("WEB服务器的IP地址"+request.getLocalAddr());
System.out.println("WEB服务器的主机名"+request.getLocalName());
System.out.println("客户机请求方式"+request.getMethod());
System.out.println("请求的文件的路径"+request.getServerName());
System.out.println("请求体的数据流"+request.getReader());
BufferedReader br=request.getReader();
String res = "";
while ((res = br.readLine()) != null) {
System.out.println("request body:" + res);
}
System.out.println("请求所使用的协议名称"+request.getProtocol());
System.out.println("请求中所有参数的名字"+request.getParameterNames());
Enumeration enumNames= request.getParameterNames();
while (enumNames.hasMoreElements()) {
String key = (String) enumNames.nextElement();
System.out.println("参数名称:"+key);