获取request的变量
由于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的变量相关推荐
- Struts2获取request三种方法
2019独角兽企业重金招聘Python工程师标准>>> Struts2获取request三种方法 Struts2获取request三种方法 struts2里面有三种方法可以获取req ...
- put请求方式参数如何传_TP5请求(request)变量
可以通过Request对象完成全局输入变量的检测.获取和安全过滤,支持包括$_GET.$_POST.$_REQUEST.$_SERVER.$_SESSION.$_COOKIE.$_ENV等系统变量,以 ...
- Spring Boot 异步线程静态获取request对象为空 RequestContextHolder 为空 Java 异步线程获取request为空
Spring Boot 异步线程静态获取request对象为空 RequestContextHolder 为空 Java 异步线程获取request为空 一.问题描述 在Spring Boot的web ...
- jfinal ajax传值,JFINAL+Ajax传参 array 数组方法 获取request中数组操作
前台代码js var _list =[]; for (var i = 0; i < array.length; i++) { _list[i] = array[i]; } $.ajax({ ty ...
- SpringMvc4中获取request、response对象的方法
springMVC4中获取request和response对象有以下两种简单易用的方法: 1.在control层获取 在control层中获取HttpServletRequest和HttpServle ...
- java request get json数据_Java中,获取request中json数据
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** ...
- springmvc获取request对象
2019独角兽企业重金招聘Python工程师标准>>> 一.在程序中获取request非文件类型: ServletRequestAttributes attributes = (Se ...
- Struts2中action获取request、response、session的方式
2019独角兽企业重金招聘Python工程师标准>>> 第一种方式,非IoC(Spring中的控制反转)方式: package com.action; import java.uti ...
- webservice服务器端获取request对象的三种方式
有的时候在webservice里我们需要获取request对象和response对象,比如想要获得客户端的访问ip的时候就需要这么做,下面说三种方式,当然三种方式可能是针对不同方式部署webservi ...
最新文章
- linux模拟树莓派,树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏
- 解决gnome3 不能设置无线网络属性
- ThinikPhp 将数据库模型的增、删、改操作写入日志
- Windows+VS2015编译caffe+py-faster-rcnn
- Vista登录密码破解
- HTML5 history新特性pushState、replaceState,popstate
- 1.11 超过人的表现
- 刘德华--6雪藏是一种代价
- LINUX下查看Apache并发请求数及其TCP连接状态
- java.util.BitSet 研究
- 千牛取消机器人自动回复_拼多多回复率低怎么办?
- 3dmax高级建模方法总结
- bat计算机清理原理,电脑清理系统垃圾bat的操作步骤
- firefox flash
- 驳“法律信仰靠什么来生成?”
- Mockito开发指南
- Python生成城市热力图
- mqtt连接百度天工物接入平台
- kvmla openvz 评测
- 75寸的电视机长和宽是多少 75寸电视长宽多少厘米