1. package com.hongdian;
  2.  
  3. import java.util.Enumeration;
  4. import java.io.IOException;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.annotation.WebServlet;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.Cookie;
  9. import javax.servlet.http.HttpSession;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpServletResponse;
  12.  
  13. /**
  14. *
  15. * @author yjmao
  16. * @描述 HttpServletRequest接口学习
  17. * @继承于 ServletRequest
  18. */
  19. @WebServlet(name = "SpanningTreeServlet", urlPatterns = {"/SpanningTreeServlet.html"})
  20. public class HttpServletRequestLearn extends HttpServlet {
  21.  
  22. @Override
  23. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  24. throws ServletException, IOException {
  25. //authType(request);
  26. //getContextPath(request);
  27. //getCookies(request);
  28. //getDateHeader(request);
  29. //getHeader(request);
  30. //getHeaderNames(request);
  31. //getHeaders(request);
  32. //getIntHeader(request);
  33. //getMethod(request);
  34. //getPathInfo(request);
  35. //getPathTranslated(request);
  36. //getQueryString(request);
  37. //getRemoteUser(request);
  38. //getRequestedSessionId(request);
  39. //getRequestURI(request);
  40. //getRequestURL(request);
  41. //getServletPath(request);
  42. //getSession(request);
  43. //getSessionBollean(request);
  44. //getUserPrincipal(request);
  45. //isRequestedSessionIdFromCookie(request);
  46. //isRequestedSessionIdFromUrl(request)
  47. //isRequestedSessionIdFromURL(request);
  48. //isRequestedSessionIdValid(request) ;
  49. //isUserInRole(request);
  50. System.err.println("GET进来啦!");
  51. }
  52.  
  53. /*
  54. * isRequestedSessionIdFromURL():返回一个布尔值,表示经过身份验证的用户是否包含在指定的逻辑“角色”。
  55. *
  56. */
  57. public static void isUserInRole(HttpServletRequest request) {
  58. Boolean isUserInRole = request.isUserInRole("mao");
  59. System.out.println("isUserInRole = " + isUserInRole);
  60. }
  61. /*
  62. * isRequestedSessionIdFromURL():检查请求的会话ID是否仍然有效。
  63. *
  64. */
  65. public static void isRequestedSessionIdValid(HttpServletRequest request) {
  66. Boolean isRequestedSessionIdValid = request.isRequestedSessionIdValid();
  67. System.out.println("isRequestedSessionIdValid = " + isRequestedSessionIdValid);
  68. }
  69. /*
  70. * isRequestedSessionIdFromURL():检查请求的会话ID来作为请求URL的一部分。
  71. *
  72. */
  73. public static void isRequestedSessionIdFromURL(HttpServletRequest request) {
  74. Boolean isRequestedSessionIdFromURL = request.isRequestedSessionIdFromURL();
  75. System.out.println("isRequestedSessionIdFromURL = " + isRequestedSessionIdFromURL);
  76. }
  77. /*
  78. * isRequestedSessionIdFromCookie():检查请求的会话ID作为一个cookie。
  79. *
  80. */
  81. public static void isRequestedSessionIdFromCookie(HttpServletRequest request) {
  82. Boolean isRequestedSessionIdFromCookie = request.isRequestedSessionIdFromCookie();
  83. System.out.println("isRequestedSessionIdFromCookie = " + isRequestedSessionIdFromCookie);
  84. }
  85. /*
  86. * getSession():返回与此请求关联的HttpSession中,如果没有当前会话,并创建是真实的,则返回一个新的会话。
  87. *
  88. */
  89. public static void getSessionBollean(HttpServletRequest request) {
  90. HttpSession getSession = request.getSession(true);
  91. String getId = getSession.getId();
  92. System.out.println("getId = " + getId);
  93. }
  94.  
  95. /*
  96. * getSession():返回与此请求关联的当前会话,或者如果请求没有会话,创建一个。
  97. *
  98. */
  99. public static void getSession(HttpServletRequest request) {
  100. HttpSession getSession = request.getSession();
  101. String getId = getSession.getId();
  102. System.out.println("getId = " + getId);
  103. }
  104.  
  105. /*
  106. * getServletPath():返回调用servlet的请求的URL的一部分。
  107. * 如:/SpanningTreeServlet.html
  108. */
  109. public static void getServletPath(HttpServletRequest request) {
  110. String getServletPath = request.getServletPath();
  111. System.out.println("getServletPath = " + getServletPath);
  112. }
  113.  
  114. /*
  115. * getRequestURL():重建的要求,使客户端使用的URL。
  116. * 如:http://localhost:8088/LargeAmountOfDataSpanningTree/SpanningTreeServlet.html
  117. */
  118. public static void getRequestURL(HttpServletRequest request) {
  119. StringBuffer getRequestURL = request.getRequestURL();
  120. System.out.println("getRequestURL = " + getRequestURL.toString());
  121. }
  122.  
  123. /*
  124. * getRequestURI():返回此请求的URL的一部分从HTTP请求中的第一行中的查询字符串的协议名称。
  125. * 如:/LargeAmountOfDataSpanningTree/SpanningTreeServlet.html
  126. */
  127. public static void getRequestURI(HttpServletRequest request) {
  128. String getRequestURI = request.getRequestURI();
  129. System.out.println("getRequestURI = " + getRequestURI);
  130. }
  131.  
  132. /*
  133. * getRequestedSessionId():返回指定的客户端的会话ID。
  134. *
  135. */
  136. public static void getRequestedSessionId(HttpServletRequest request) {
  137. String getRequestedSessionId = request.getRequestedSessionId();
  138. System.out.println("getRequestedSessionId = " + getRequestedSessionId);
  139. }
  140.  
  141. /*
  142. * getMethod():返回这个请求的HTTP方法的名称,例如,GET,POST或PUT。
  143. *
  144. */
  145. public static void getMethod(HttpServletRequest request) {
  146. String getMethod = request.getMethod();
  147. System.out.println("getMethod = " + getMethod);
  148. }
  149.  
  150. /*
  151. * getIntHeader(String name):返回指定的请求头为一个int值。
  152. * 参数name:请求头中的参数
  153. * 不是很懂
  154. */
  155. public static void getIntHeader(HttpServletRequest request) {
  156. int enums = request.getIntHeader("mm");
  157. System.out.println("enums = " + enums);
  158. }
  159.  
  160. /*
  161. * getHeaders(String name):返回一个String对象的枚举指定的请求标头的所有值。
  162. * 参数name:请求头中的参数
  163. */
  164. public static void getHeaders(HttpServletRequest request) {
  165. Enumeration enums = request.getHeaders("Accept-Charset");
  166. while (enums.hasMoreElements()) {
  167. System.out.println("******head=" + enums.nextElement() + "************");
  168. }
  169. }
  170.  
  171. /*
  172. * getHeaderNames():返回一个枚举这个请求包含所有的头名。
  173. *
  174. */
  175. public static void getHeaderNames(HttpServletRequest request) {
  176. Enumeration enums = request.getHeaderNames();
  177. String str = null;
  178. while (enums.hasMoreElements()) {
  179. str = enums.nextElement().toString();
  180. System.out.print(str + ":");
  181. System.out.println(request.getHeader(str));
  182. Enumeration a = request.getHeaders(str);
  183. while (a.hasMoreElements()) {
  184. System.out.println("******head=" + a.nextElement() + "************");
  185. }
  186. }
  187. }
  188.  
  189. /*
  190. * getHeader(String name):返回值作为一个String指定的请求头。
  191. * 参数name:请求头中的参数,
  192. * 如:
  193. Accept-Charset:GBK,utf-8;q=0.7,*;q=0.3
  194. Accept-Encoding:gzip,deflate,sdch
  195. Accept-Language:zh-CN,zh;q=0.8
  196. Connection:keep-alive
  197. Cookie:JSESSIONID=461DB37360713AFBFB9E0B50FF716191
  198. Host:localhost:8088
  199. Referer:http://localhost:8088/LargeAmountOfDataSpanningTree/
  200. User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11
  201. X-Requested-With:XMLHttpRequest
  202. */
  203. public static void getHeader(HttpServletRequest request) {
  204. String getHeader = request.getHeader("Accept-Charset");
  205. System.err.println("getHeader = " + getHeader);
  206. String Host = request.getHeader("Host");
  207. System.err.println("Host = " + Host);
  208. }
  209.  
  210. /*
  211. * getCookies():返回一个数组,包含所有客户端发送申请的Cookie对象。
  212. *
  213. */
  214. public static void getCookies(HttpServletRequest request) {
  215. Cookie[] getCookies = request.getCookies();
  216. int i = ;
  217. for (Cookie cook : getCookies) {
  218. i++;
  219. System.err.println("第" + i + "个cook = " + cook.getName() + ";value = " + cook.getValue());
  220. }
  221. }
  222.  
  223. /*
  224. * getContextPath():指示上下文请求的URI
  225. * 如http://localhost:8088/LargeAmountOfDataSpanningTree/
  226. * 返回的就是/LargeAmountOfDataSpanningTree
  227. */
  228. public static void getContextPath(HttpServletRequest request) {
  229. String getContextPath = request.getContextPath();
  230. System.err.println("getContextPath = " + getContextPath);
  231. }
  232.  
  233. /*
  234. * authType():返回的身份验证方案,用于保护的servlet的名称。
  235. */
  236. public static void authType(HttpServletRequest request) {
  237. String authType = request.getAuthType();
  238. System.err.println("authType = " + authType);
  239. }
  240.  
  241. /**
  242. * ***************************不是很清楚怎么样的***********************************************
  243. */
  244. /*
  245. * getUserPrincipal():返回一个java.security.Principal对象,它包含当前经过身份验证的用户的名称。
  246. *
  247. */
  248. public static void getUserPrincipal(HttpServletRequest request) {
  249. java.security.Principal pp = request.getUserPrincipal();
  250. System.err.println("pp = " + pp);
  251. }
  252.  
  253. /*
  254. * isRequestedSessionIdFromCookie():检查请求的会话ID作为一个cookie。
  255. * 方法已经过时
  256. */
  257. public static void isRequestedSessionIdFromUrl(HttpServletRequest request) {
  258. Boolean isRequestedSessionIdFromUrl = request.isRequestedSessionIdFromUrl();
  259. System.out.println("isRequestedSessionIdFromUrl = " + isRequestedSessionIdFromUrl);
  260. }
  261.  
  262. /*
  263. * getPathTranslated():提出这个要求时,客户端发送的URL返回任何额外的路径信息。
  264. *
  265. */
  266. public static void getPathTranslated(HttpServletRequest request) {
  267. String getPathTranslated = request.getPathTranslated();
  268. System.out.println("getPathTranslated = " + getPathTranslated);
  269. }
  270.  
  271. /*
  272. * getPathInfo():提出这个要求时,客户端发送的URL返回任何额外的路径信息。
  273. *
  274. */
  275. public static void getPathInfo(HttpServletRequest request) {
  276. String getPathInfo = request.getPathInfo();
  277. System.out.println("getPathInfo = " + getPathInfo);
  278. }
  279. /*
  280. * getQueryString():返回的查询字符串中包含请求的URL路径后。
  281. *
  282. */
  283.  
  284. public static void getQueryString(HttpServletRequest request) {
  285. String getQueryString = request.getQueryString();
  286. System.out.println("getQueryString = " + getQueryString);
  287. }
  288.  
  289. /*
  290. * getRemoteUser():提出这个要求返回登录的用户,如果用户已通过身份验证,或者如果用户未通过身份验证,则返回null。
  291. *
  292. */
  293. public static void getRemoteUser(HttpServletRequest request) {
  294. String getRemoteUser = request.getRemoteUser();
  295. System.out.println("getRemoteUser = " + getRemoteUser);
  296. }
  297. /*
  298. * getDateHeader(String name):返回指定的请求头作为一项长期的价值,代表一个日期对象的价值。
  299. * 注明:不是很懂
  300. */
  301.  
  302. public static void getDateHeader(HttpServletRequest request) {
  303. long tie = request.getDateHeader("mm");
  304. System.err.println("tie = " + tie);
  305. }
  306.  
  307. @Override
  308. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  309. throws ServletException, IOException {
  310. //authType(request);
  311. getMethod(request);
  312. System.err.println("Put进来啦!");
  313. }
  314. }

HttpServletRequest接口的更多相关文章

  1. HttpServletRequest接口实例化的使用

    HttpServletRequ接口的使用和jsp内置对象的request对象非常类似,request对象其实 就是HttpServletRequest接口的一个实例,不过气实例化的过程是自动的,无须自 ...

  2. HttpServletRequest 接口、HttpServletResponse 接口、请求转发与重定向

    上篇文章我们讲了servlet的基本原理,这章将讲一下剩余的部分. HttpServletRequest 接口 该接口是 ServletRequest 接口的子接口,封装了 HTTP 请求的相关信息, ...

  3. Servlet(6)—HttpServletRequest接口和HttpServletResponse接口

    HttpServletRequest接口和HttpServletResponse接口是继承ServletRequest和ServletResponse接口,是他们的子接口,但是我们在程序中进程看到Se ...

  4. 一、HttpServletRequest接口 二、HttpServletReponse接口 三、POST和GET请求方式及其乱码处理 四、ServletContext对象和ServletConfig对象

    一.HttpServletRequest接口 内部封装了客户端请求的数据信息 接收客户端的请求参数.HTTP请求数据包中配置参数 ###<1>常用方法 getContextPath()重要 ...

  5. javax.servlet.http.httpServletRequest接口

    HttpServletRequest接口中常用的方法:   - String getContentPath();//获取webapp根目录路径,如下图:   下面研究request到底是一个怎样的范围 ...

  6. HttpServletRequest接口是怎么实现的

    request只是规范中的一个名称而已.不是SUN提供的,这是由各个不同的Servlet提供商编写的,SUN只是规定这个类要实现HttpServletRequest接口,并且规定了各个方法的用途,但具 ...

  7. HttpServletRequest接口详解

    般情况下,浏览器(客户端)通过 HTTP 协议来访问服务器的资源,Servlet 主要用来处理 HTTP 请求.Servlet 处理 HTTP 请求的流程如下: Servlet 容器接收到来自客户端的 ...

  8. [转]【HttpServlet】HttpServletRequest接口

    建立时间:2019.6.28 &6.29 1.HttpServletRequest概述 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有 ...

  9. Java EE HttpServletRequest接口和HttpServletResponse接口

    package javax.servlet.http (https://docs.oracle.com/javaee/7/api/javax/servlet/http/package-summary. ...

随机推荐

  1. Div+Css中transparent制作奥运五环

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (ECPC 2015)

    A.Arcade Game(康拓展开) 题意: 给出一个每个数位都不同的数n,进行一场游戏.每次游戏将n个数的每个数位重组.如果重组后的数比原来的数大则继续游戏,否则算输.如果重组后的数是最大的数则算 ...

  3. POJ3415 Common Substrings 【后缀数组 + 单调栈】

    常见的子串 时间限制: 5000MS   内存限制: 65536K 提交总数: 11942   接受: 4051 描述 字符串T的子字符串被定义为: Ť(我,ķ)= Ť 我 Ť 我 1 ... Ť I ...

  4. bzoj4145 AMPPZ2014 The Prices 状压dp

    这个题.......很可以,很小清晰......反正正经的东西我都没想到:重点在于——————我不会处理那个多出来的路费所以当时我就骚骚的弄了一颗树包状压其实这是一个类01背包的状压在每个状态用01背 ...

  5. JavaScript的相等(==)与全等(===)

    有段代码如下: view source   print? 1 if (![] == []) { 2     //Code 3 } ![] == [],true or false? 我们都知道,ECMA ...

  6. HttpClientUntils工具类的使用测试及注意事项(包括我改进的工具类和Controller端的注意事项【附 Json 工具类】)

    HttpClient工具类(我改过): package com.taotao.httpclient; import java.io.IOException; import java.net.URI; ...

  7. [bzoj 3224]手写treap

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3224 bzoj不能用time(0),看到这个博客才知道,我也RE了好几发…… #inclu ...

  8. ubunut14.04 mentohust配置

      1.设置网卡eth0的IP地址和子网掩码 sudo ifconfig eth0 10.162.32.94 netmask 255.0.0.0 将IP地址改为:10.162.32.94,子网掩码改为 ...

  9. i=i+1与i+=1的区别及效率(Java)

    原博客地址 在做个java优化的PPT时,看到了i=i+1与i+=1的区别,在这之前还真没想到那么细. 1.x=x+1,x+=1及x++的效率哪个最高?为什么? x=x+1最低,因为它的执行如下. ( ...

  10. 五分钟搞懂Vuex

    这段时间一直在用vue写项目,vuex在项目中也会依葫芦画瓢使用,但是总有一种朦朦胧胧的感觉.于是决定彻底搞懂它. 看了一下午的官方文档,以及资料,才发现vuex so easy! 作为一个圈子中的人 ...