1 HttpServletRequest的功能

HttpServletRequest在JavaWeb中非常重要的一个类。它是Servlet的service()方法的参数之一!所以你必须必须要掌握它!

request的功能可以分为以下几种:

封装了请求头数据;

封装了请求正文数据,如果是GET请求,那么就没有正文;

request是一个域对象,可以把它当成Map来添加获取数据;

request提供了请求转发和请求包含功能。

java教程

2 request获取请求头数据

String value = request.getHeader(“请求头名称”);

request对象可以用来获取请求头数据,当然,这些请求数据都是Tomcat封装到request中去的。我们在service()方法中可以直接来获取!

request与请求头相关的方法有:

String getHeader(String name):获取指定名称的请求头;

Enumeration getHeaderNames():获取所有请求头名称;

int getIntHeader(String name):获取值为int类型的请求头。

3 request获取请求相关的其它方法

request中还提供了与请求相关的其他方法,有些方法是为了我们更加便捷的方法请求头数据而设计,有些是与请求URL相关的方法。

int getContentLength():获取请求正文的字节数,GET请求没有正文,没有正文返回-1;

String getContentType():获取请求类型,如果请求是GET,那么这个方法返回null;如果是POST请求,那么默认为application/x-www-form-urlencoded,其它类型以后再学;

String getMethod():返回请求方法,例如:GET

Locale getLocale():返回当前客户端浏览器支持的Locale。Java.util.Locale表示国家和言语,这个东西在国际化中很有用;

String getCharacterEncoding():获取请求编码,如果没有setCharacterEncoding(),那么返回null。表示使用ISO-8859-1编码;

void setCharacterEncoding(String code):设置请求编码,只对正文有效!注意,对于GET而言,没有正文!!!所以此方法只能对POST请求中的参数有效!

String getContextPath():返回上下文路径,例如:/hello

String getQueryString():返回请求URL中的参数,例如:name=zhangSan

String getRequestURI():返回请求URI路径,例如:/hello/oneServlet

StringBuffer getRequestURL():返回请求URL路径,例如:http://localhost/hello/oneServlet,即返回除了参数以外的路径信息;

String getServletPath():返回Servlet路径,例如:/oneServlet

String getRemoteAddr():返回当前客户端的IP地址;

String getRemoteHost():返回当前客户端的主机名,但这个方法的实现还是获取IP地址;

int getRemotePort():返回客户端的端口号,每次请求都会变;

String getSchema():返回请求协议,例如:http;

String getServerName():返回主机名,例如:localhost

int getServerPort():返回服务器端口号,例如:80

4 request.getRemoteAddr():封IP

可以使用request.getRemoteAddr()方法获取客户端的IP地址,然后判断IP是否为禁用IP,这种方式可以很方便的对多次密码的用户处理。

免费领取Java面试题资料

Java开发心得:HttpServletRequest基本功能相关推荐

  1. java微信web支付开发_微信支付java开发详细第三方支付功能开发之支付宝web端支...

    这段时间把支付基本搞完了,因为做的过程中遇到许多问题,特地记录下来,同时方便其他java coder,废话少说,下面开始. 整体思路:在后台,根据参数创建支付宝客户端AlipayClient,发送参数 ...

  2. Java开发短连接分享功能

    首先先理解需求,产品的需求是要求说用户分享一条短链接,从而跳转到下载落地页,下载APP,然后被邀请者就是邀请者的下属用户. 这..没问题,甘蔗! 首先需要生成用户短连接标识,我这边的话,是采用MD5加 ...

  3. java开发NATIVE微信支付功能(下单)

    ** 谈NATIVE微信支付流程以及遇到坑 初次接触微信支付,内心万马奔腾,产品,客户一直催,微信支付文档也不知道怎么看,记录一下微信支付开发步骤,,,,,先解释微信支付流程!其他文档会给加密,解密, ...

  4. Java开发的KTV系统 功能非常齐全 完整源码

    今天为大家分享一个java语言编写的KTV系统,目前系统功能已经很全面,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言 ...

  5. JAVA开发---微信文章留言功能实现

    概述 最近应公司需求,对微信文章留言功能进行开发,然而由于微信文档描述贼简单,所以遇坑不断,特在此整理一下以便各位少走弯路. 1. 留言功能开通 首先,公众号需要具备可以进行留言的资格,如果你的公众号 ...

  6. 分销系统开发 分销商城开发 分销功能 Java开发三级分销业务功能

    众所周知,互联网时代,分享经济现在随处可见,各行各业都有各种分销系统,最为常见的就是三级分销,那么如何实现这个业务功能了,笔者通过本篇图文案例给大家分享一下实现过程.此处以二级分级分销实现为例. 1. ...

  7. java开发——发送短信功能

    使用中国网建提供的SMS短信平台(申请账号地址:http://sms.webchinese.cn/default.shtml) UTF-8编码发送接口地址: http://utf8.api.smsch ...

  8. JAVA开发微信 AIRKISS 一键WIFI功能(测试账户)

    最近使用JAVA开发微信的AIRKISS功能,因为没有经验参考了比较多的网站,其中受益比较多的除了微信官方网站外,特别感谢以下几位大神的经验分享. https://blog.csdn.net/jrai ...

  9. java office在线编辑_国外10个最受欢迎的 Java 开发的 CMS 系统

    CMS是Content Management System的缩写,意为"内容管理系统",它具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本.CMS的功能并不只限于 ...

最新文章

  1. MongoDB基本使用
  2. 你是怎样给下属分配工作
  3. WPF基础入门2 - WPF窗口类和垂直布局面板基本使用
  4. 逆序数2 HDOJ 1394 Minimum Inversion Number
  5. Windows下MetaMap工具安装
  6. WatchOS系统开发大全(5)-WKInterfaceController的生命周期
  7. [BOI2007] Mokia
  8. Codeforces Round #572 (Div. 2)(ABCD1D2E)
  9. [转]Eclipse下的JavaScript编辑器中文无法保存问题解决
  10. 如何使用 C# 中的 ValueTask
  11. 《例说8051:单片机程序设计案例教程》——2-5 寻址方式
  12. 北京思源培训中心---C#下用P2P技术实现点对点聊天(2)
  13. 下单延迟10s撤单性能测试
  14. 游戏和数学笔记—常拿起来看看
  15. python 爬取阳光电影资源
  16. Date.getyear()、Date.getMonth()、Date.getDay() 已经作废,其他解决办法
  17. 在codesys中通过EtherCAT总线驱动IO模块
  18. RSA算法与维吉尼亚密码
  19. Postgresql学习笔记-高级语法篇
  20. java小游戏2048实现

热门文章

  1. [转载] C++ std::vector指定位置插入
  2. [转载] numpy用法(logical_and, nonzero,arange, reshape)
  3. java 通过反射获取数组
  4. 微信小程序之 ----API接口
  5. Leetcode: 2. Add Two Numbers
  6. delphi 7 mdi子窗体。。。无法更改以命令对象为源的记录集对象的 ActiveConnection 属性。...
  7. linux下安装软件后的环境变量设置
  8. 12.15daily_scrum
  9. hdu 1198农田灌溉
  10. 你能熟练使用Dictionary字典和List列表吗?