Eclipse部署JavaWeb项目完整流程(含代码:获取http请求头)

Eclipse部署JavaWeb项目完整流程(含代码:获取http请求头)

一.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 headers = request.getHeaderNames();

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);

相关内容

中华人民共和国人民警察
必发365娱乐在线官网

中华人民共和国人民警察

⌛ 06-27 👁️ 6281
Shadowsocks 是什么?影梭简介
365bet官网最新网址

Shadowsocks 是什么?影梭简介

⌛ 06-27 👁️ 6615
植村秀适合什么年龄段?植村秀适合什么年龄
365bet官网最新网址

植村秀适合什么年龄段?植村秀适合什么年龄

⌛ 06-27 👁️ 6501
Sih.Ai:一键换衣换发型AI工具 - AIHub
365安卓版

Sih.Ai:一键换衣换发型AI工具 - AIHub

⌛ 06-27 👁️ 6203
为什么耵聍 为什么耵聍是黑色的
365bet官网最新网址

为什么耵聍 为什么耵聍是黑色的

⌛ 06-27 👁️ 9395
中华人民共和国人民警察
必发365娱乐在线官网

中华人民共和国人民警察

⌛ 06-27 👁️ 6281
Sih.Ai:一键换衣换发型AI工具 - AIHub
365安卓版

Sih.Ai:一键换衣换发型AI工具 - AIHub

⌛ 06-27 👁️ 6203
Sih.Ai:一键换衣换发型AI工具 - AIHub
365安卓版

Sih.Ai:一键换衣换发型AI工具 - AIHub

⌛ 06-27 👁️ 6203
植村秀适合什么年龄段?植村秀适合什么年龄
365bet官网最新网址

植村秀适合什么年龄段?植村秀适合什么年龄

⌛ 06-27 👁️ 6501