1.Request对象
当客户端向服务器端发送请求时,服务器将为此请求创建一个request对象,并在调用servlet的服务方法时将该对象传递给服务方法。 Request对象封装了客户端发送的所有请求数据。
2.Request常用的API
Request对象的类型是HttpServletRequest,它定义了许多与http协议相关的方法,包括获取请求标头信息、请求方法和客户端ip地址。 以下是常用的API。
)1)常用信息
字符串获取远程地址(:获取客户端的ip地址
String getMethod () :获取客户端的请求方式。 例如,get或post
(2)获取请求头信息
stringgetheader(stringname ) :获取单个值的请求标头的值。
intgetintheader (字符串名称) :获取单值int类型的请求报头的值
3.Request获取请求参数方法
request对象获取请求参数的方法如下。 详情请参阅表1-1。
表1-1请求获取请求参数方法介绍
方法名
方法介绍
String getParameter(String name )
获取具有指定名称的请求参数值。 适用于单个值的请求参数
String[] getParameterValues(String name)
获取具有指定名称的请求参数值。 适用于多个值的请求参数
EnumerationString getParameterNames()
获取所有请求参数名称
MapString,String[] getParameterMap()
获取所有请求参数。 其中参数名称为map的key,参数值为map的value。
牛刀小试
客户端表单
span style=' font-family : simsun; font-size:18px;' bodyh1测试/h1hr/formaction='/test/param servlet ' method=' post '用户名: input type=' text ' name=' username '/饮食input type=' checkbox ' name=' hobby ' value=' SJ ' /睡眠iii码br/input type='submit' value='提交' /表单/boddm/BOD
服务器端接收
span style=' font-family : simsun; font-size:18px;' publicclassparamservletextendshttp servlet { public void doget (httpservletrequestrequest,http servlet响应响应) throws iget system.out.println(get: ) request.getparameter ) (yyy ); } public void dopost (httpservletrequestrequest,HttpServletResponse response ) throws ServletException,io exception { stringus } io exception { s string password=request.getparameter (' password ); string [ ] hobby=request.getparameter values (' hobby ); system.out.println(username、' password、' Arrays.tostring、) hobby ); }}/span
4.Request获取请求路径方法介绍
Request对象包含请求信息。 以以下路径为例,向您展示请求路径的几种方法。
地址: http://localhost :8080/test/log in? username=张gsan。
Request对象通过以下方法获取请求路径:
(1) String getServerName ) ) :服务器名称:获取localhost
(2) String getServerPort ) ) :获取服务器端口号) 8080
(3) String getContextPath ) ) :项目名称:获取Test
(4) String getServletPath ) ) :获取servlet的路径:/login
)5) String getQueryString () :获取参数的部门,即问号的后面部分) username=zhangsan
(6) String getRequestURL ) :获取请求URL
以下,用图表示一下