Java开发心得:HttpServletRequest基本功能
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基本功能相关推荐
- java微信web支付开发_微信支付java开发详细第三方支付功能开发之支付宝web端支...
这段时间把支付基本搞完了,因为做的过程中遇到许多问题,特地记录下来,同时方便其他java coder,废话少说,下面开始. 整体思路:在后台,根据参数创建支付宝客户端AlipayClient,发送参数 ...
- Java开发短连接分享功能
首先先理解需求,产品的需求是要求说用户分享一条短链接,从而跳转到下载落地页,下载APP,然后被邀请者就是邀请者的下属用户. 这..没问题,甘蔗! 首先需要生成用户短连接标识,我这边的话,是采用MD5加 ...
- java开发NATIVE微信支付功能(下单)
** 谈NATIVE微信支付流程以及遇到坑 初次接触微信支付,内心万马奔腾,产品,客户一直催,微信支付文档也不知道怎么看,记录一下微信支付开发步骤,,,,,先解释微信支付流程!其他文档会给加密,解密, ...
- Java开发的KTV系统 功能非常齐全 完整源码
今天为大家分享一个java语言编写的KTV系统,目前系统功能已经很全面,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言 ...
- JAVA开发---微信文章留言功能实现
概述 最近应公司需求,对微信文章留言功能进行开发,然而由于微信文档描述贼简单,所以遇坑不断,特在此整理一下以便各位少走弯路. 1. 留言功能开通 首先,公众号需要具备可以进行留言的资格,如果你的公众号 ...
- 分销系统开发 分销商城开发 分销功能 Java开发三级分销业务功能
众所周知,互联网时代,分享经济现在随处可见,各行各业都有各种分销系统,最为常见的就是三级分销,那么如何实现这个业务功能了,笔者通过本篇图文案例给大家分享一下实现过程.此处以二级分级分销实现为例. 1. ...
- java开发——发送短信功能
使用中国网建提供的SMS短信平台(申请账号地址:http://sms.webchinese.cn/default.shtml) UTF-8编码发送接口地址: http://utf8.api.smsch ...
- JAVA开发微信 AIRKISS 一键WIFI功能(测试账户)
最近使用JAVA开发微信的AIRKISS功能,因为没有经验参考了比较多的网站,其中受益比较多的除了微信官方网站外,特别感谢以下几位大神的经验分享. https://blog.csdn.net/jrai ...
- java office在线编辑_国外10个最受欢迎的 Java 开发的 CMS 系统
CMS是Content Management System的缩写,意为"内容管理系统",它具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本.CMS的功能并不只限于 ...
最新文章
- MongoDB基本使用
- 你是怎样给下属分配工作
- WPF基础入门2 - WPF窗口类和垂直布局面板基本使用
- 逆序数2 HDOJ 1394 Minimum Inversion Number
- Windows下MetaMap工具安装
- WatchOS系统开发大全(5)-WKInterfaceController的生命周期
- [BOI2007] Mokia
- Codeforces Round #572 (Div. 2)(ABCD1D2E)
- [转]Eclipse下的JavaScript编辑器中文无法保存问题解决
- 如何使用 C# 中的 ValueTask
- 《例说8051:单片机程序设计案例教程》——2-5 寻址方式
- 北京思源培训中心---C#下用P2P技术实现点对点聊天(2)
- 下单延迟10s撤单性能测试
- 游戏和数学笔记—常拿起来看看
- python 爬取阳光电影资源
- Date.getyear()、Date.getMonth()、Date.getDay() 已经作废,其他解决办法
- 在codesys中通过EtherCAT总线驱动IO模块
- RSA算法与维吉尼亚密码
- Postgresql学习笔记-高级语法篇
- java小游戏2048实现
热门文章
- [转载] C++ std::vector指定位置插入
- [转载] numpy用法(logical_and, nonzero,arange, reshape)
- java 通过反射获取数组
- 微信小程序之 ----API接口
- Leetcode: 2. Add Two Numbers
- delphi 7 mdi子窗体。。。无法更改以命令对象为源的记录集对象的 ActiveConnection 属性。...
- linux下安装软件后的环境变量设置
- 12.15daily_scrum
- hdu 1198农田灌溉
- 你能熟练使用Dictionary字典和List列表吗?