由于IP代码未实现,先注释掉。

  1 package com.helloweenvsfei.servlet;
  2
  3 import java.io.IOException;
  4 import java.io.PrintWriter;
  5 import java.security.Principal;
  6 import java.util.Locale;
  7
  8 import javax.servlet.ServletException;
  9 import javax.servlet.http.HttpServlet;
 10 import javax.servlet.http.HttpServletRequest;
 11 import javax.servlet.http.HttpServletResponse;
 12
 13 public class RequestServlet extends HttpServlet {
 14
 15     private String getAccept(String accept) {
 16         StringBuffer buffer = new StringBuffer();
 17         if (accept.contains("image/gif"))
 18             buffer.append("GIF文件,");
 19         if (accept.contains("image/x-xbitmap"))
 20             buffer.append("BPM文件,");
 21         if (accept.contains("image/jpeg"))
 22             buffer.append("JPG文件");
 23         if (accept.contains("application/vnd.ms-excel"))
 24             buffer.append("Excel 文件, ");
 25         if (accept.contains("application/vnd.ms-powerpoint"))
 26             buffer.append("PPT 文件, ");
 27         if (accept.contains("application/msword"))
 28             buffer.append("Word 文件, ");
 29         return buffer.toString().replaceAll(", $", "");
 30     }
 31
 32     private String getLocale(Locale locale) {
 33         if (Locale.SIMPLIFIED_CHINESE.equals(locale))
 34             return "简体中文";
 35         if (Locale.TRADITIONAL_CHINESE.equals(locale))
 36             return "繁体中文";
 37         if (Locale.ENGLISH.equals(locale))
 38             return "英文";
 39         if (Locale.JAPANESE.equals(locale))
 40             return "日文";
 41         return "未知语言环境";
 42     }
 43
 44     // private String getAddress(String ip){
 45     // return IpUtil.getIpAddress(ip);
 46     // }
 47
 48     private String getNavigator(String userAgent) {
 49         if (userAgent.indexOf("TencentTraveler") > 0)
 50             return "腾讯浏览器";
 51         if (userAgent.indexOf("Maxthon") > 0)
 52             return "Maxthon浏览器";
 53         if (userAgent.indexOf("MyIE2") > 0)
 54             return "MyIE2浏览器";
 55         if (userAgent.indexOf("Firefox") > 0)
 56             return "Firefox浏览器";
 57         if (userAgent.indexOf("MSIE") > 0)
 58             return "IE 浏览器";
 59         return "未知浏览器";
 60     }
 61 private String getOS(String userAgent){
 62     if(userAgent.indexOf("Windows NT 5.1") > 0)    return "Windows XP";
 63     if(userAgent.indexOf("Windows 98") > 0)    return "Windows 98";
 64     if(userAgent.indexOf("Windows NT 5.0") > 0)    return "Windows 2000";
 65     if(userAgent.indexOf("Linux") > 0)    return "Linux";
 66     if(userAgent.indexOf("Unix") > 0)    return "Unix";
 67     return "未知";
 68 }
 69 public void doGet(HttpServletRequest request,HttpServletResponse response)
 70 throws ServletException,IOException{
 71     request.setCharacterEncoding("UTF-8");
 72     response.setCharacterEncoding("UTF-8");
 73
 74     response.setContentType("text/html");
 75
 76     String authType = request.getAuthType();
 77     String localAddr = request.getLocalAddr();
 78     Locale locale = request.getLocale();
 79     String localName = request.getLocalName();
 80     String contextPath = request.getContextPath();
 81     int localPort = request.getLocalPort();
 82     String method = request.getMethod();
 83     String pathInfo = request.getPathInfo();
 84     String pathTranslated = request.getPathTranslated();
 85     String protocol = request.getProtocol();
 86     String queryString = request.getQueryString();
 87     String remoteAddr = request.getRemoteAddr();
 88     int port = request.getRemotePort();
 89     String remoteUser = request.getRemoteUser();
 90     String requestedSessionId = request.getRequestedSessionId();
 91     String requestURI = request.getRequestURI();
 92     StringBuffer requestURL = request.getRequestURL();
 93     String scheme = request.getScheme();
 94     String serverName = request.getServerName();
 95     int serverPort = request.getServerPort();
 96     String servletPath = request.getServletPath();
 97     Principal userPrincipal = request.getUserPrincipal();
 98
 99     String accept = request.getHeader("accept");
100     String referer = request.getHeader("referer");
101     String userAgent = request.getHeader("user-agent");
102
103     String serverInfo = this.getServletContext().getServerInfo();
104
105     PrintWriter out = response.getWriter();
106     out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
107     out.println("<HTML>");
108
109     // 这里<title></title>之间的信息在浏览器中显示为标题
110     out.println("  <HEAD><TITLE>Request Servlet</TITLE></HEAD>");
111     out.println("  <style>body, font, td, div {font-size:12px; line-height:18px; }</style>");
112     out.println("  <BODY>");
113
114     out.println("<b>您的IP为</b> " + remoteAddr +  "<b>;您使用</b> " + getOS(userAgent) + " <b>操作系统</b>," + getNavigator(userAgent) + " <b>。您使用</b> " + getLocale(locale) + "。<br/>");
115     out.println("<b>服务器IP为</b> " + localAddr + "<b>;服务器使用</b> " + serverPort + " <b>端口,您的浏览器使用了</b> " + port + " <b>端口访问本网页。</b><br/>");
116     out.println("<b>服务器软件为</b>:" + serverInfo + "。<b>服务器名称为</b> " + localName + "。<br/>");
117     out.println("<b>您的浏览器接受</b> " + getAccept(accept) + "。<br/>");
118     out.println("<b>您从</b> " + referer + " <b>访问到该页面。</b><br/>");
119     out.println("<b>使用的协议为</b> " + protocol + "。<b>URL协议头</b> " + scheme + ",<b>服务器名称</b> " + serverName + ",<b>您访问的URI为</b> " + requestURI + "。<br/>" );
120     out.println("<b>该 Servlet 路径为</b> " + servletPath + ",<b>该 Servlet 类名为</b> " + this.getClass().getName() + "。<br/>");
121     out.println("<b>本应用程序在硬盘的根目录为</b> " + this.getServletContext().getRealPath("") + ",<b>网络相对路径为</b> " + contextPath + "。 <br/>");
122
123     out.println("<br/>");
124
125     out.println("<br/><br/><a href=" + requestURI + "> 点击刷新本页面 </a>");
126
127     out.println("  </BODY>");
128     out.println("</HTML>");
129     out.flush();
130     out.close();
131 }
132 }

RequestServlet.java

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><servlet><servlet-name>FirstServlet</servlet-name><servlet-class>com.helloweenvsfei.servlet.FirstServlet</servlet-class><init-param><param-name>message</param-name><param-value>welcome to FirstServlet</param-value></init-param><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet><servlet-name>RequestServlet</servlet-name><servlet-class>com.helloweenvsfei.servlet.RequestServlet</servlet-class></servlet><servlet-mapping><servlet-name>FirstServlet</servlet-name><url-pattern>/servlet/FirstServlet</url-pattern><url-pattern>/servlet/FirstServlet.asp</url-pattern><url-pattern>/servlet/FirstServlet.php</url-pattern><url-pattern>/servlet/FirstServlet.jsp</url-pattern><url-pattern>/servlet/FirstServlet.aspx</url-pattern></servlet-mapping><servlet-mapping><servlet-name>RequestServlet</servlet-name><url-pattern>/servlet/RequestServlet</url-pattern></servlet-mapping>
</web-app>

web.xml

转载于:https://www.cnblogs.com/ys-wuhan/p/5893166.html

获取request的变量相关推荐

  1. Struts2获取request三种方法

    2019独角兽企业重金招聘Python工程师标准>>> Struts2获取request三种方法 Struts2获取request三种方法 struts2里面有三种方法可以获取req ...

  2. put请求方式参数如何传_TP5请求(request)变量

    可以通过Request对象完成全局输入变量的检测.获取和安全过滤,支持包括$_GET.$_POST.$_REQUEST.$_SERVER.$_SESSION.$_COOKIE.$_ENV等系统变量,以 ...

  3. Spring Boot 异步线程静态获取request对象为空 RequestContextHolder 为空 Java 异步线程获取request为空

    Spring Boot 异步线程静态获取request对象为空 RequestContextHolder 为空 Java 异步线程获取request为空 一.问题描述 在Spring Boot的web ...

  4. jfinal ajax传值,JFINAL+Ajax传参 array 数组方法 获取request中数组操作

    前台代码js var _list =[]; for (var i = 0; i < array.length; i++) { _list[i] = array[i]; } $.ajax({ ty ...

  5. SpringMvc4中获取request、response对象的方法

    springMVC4中获取request和response对象有以下两种简单易用的方法: 1.在control层获取 在control层中获取HttpServletRequest和HttpServle ...

  6. java request get json数据_Java中,获取request中json数据

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** ...

  7. springmvc获取request对象

    2019独角兽企业重金招聘Python工程师标准>>> 一.在程序中获取request非文件类型: ServletRequestAttributes attributes = (Se ...

  8. Struts2中action获取request、response、session的方式

    2019独角兽企业重金招聘Python工程师标准>>> 第一种方式,非IoC(Spring中的控制反转)方式: package com.action; import java.uti ...

  9. webservice服务器端获取request对象的三种方式

    有的时候在webservice里我们需要获取request对象和response对象,比如想要获得客户端的访问ip的时候就需要这么做,下面说三种方式,当然三种方式可能是针对不同方式部署webservi ...

最新文章

  1. linux模拟树莓派,树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏
  2. 解决gnome3 不能设置无线网络属性
  3. ThinikPhp 将数据库模型的增、删、改操作写入日志
  4. Windows+VS2015编译caffe+py-faster-rcnn
  5. Vista登录密码破解
  6. HTML5 history新特性pushState、replaceState,popstate
  7. 1.11 超过人的表现
  8. 刘德华--6雪藏是一种代价
  9. LINUX下查看Apache并发请求数及其TCP连接状态
  10. java.util.BitSet 研究
  11. 千牛取消机器人自动回复_拼多多回复率低怎么办?
  12. 3dmax高级建模方法总结
  13. bat计算机清理原理,电脑清理系统垃圾bat的操作步骤
  14. firefox flash
  15. 驳“法律信仰靠什么来生成?”
  16. Mockito开发指南
  17. Python生成城市热力图
  18. mqtt连接百度天工物接入平台
  19. kvmla openvz 评测
  20. 75寸的电视机长和宽是多少 75寸电视长宽多少厘米

热门文章

  1. 记录一次简单、高效、无错误的linux上安装pytorch的过程
  2. 算法工程师落地_模型的更新升级能力
  3. PyTorch学习之六个学习率调整策略
  4. Tesla Model汽车架构与FSD供应链
  5. MLIR中间表示与编译
  6. TensorRT 7.2.1 开发概要(上)
  7. MVC、MVP和MVVM的优缺点
  8. Python:Scrapy 框架简单介绍
  9. [JavaScript] 日期时间戳的使用与计算
  10. C++ 中 map 的用法