JavaEE请求对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LY121600HACKER/article/details/78370257

1.请求对象类型与生命周期

JavaEE请求对象要实现javax.servlet.http.HttpServletRequest接口。

在web组件开发中,不需要servlet和jsp自己创建对象,他们由web容器自动创建,并传递给
servlet和jsp的服务方法doGet和doPost,在服务处理方法中直接使用请求对象即可。

protected void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException{}

2.请求对象的功能

(1).取得请求头的信息
(2).取得请求体中包含的提交数据
(3).取得客户端的相关信息
(4).取得服务端的相关信息
(5).取得请求对象的属性信息

3.取得请求头方法

(1). String getHeader(String name)
取得指定请求头字符串类型的内容

String browser=request.getHeader("User-Agent");

(2). int getIntHeader(String name)
取得指定请求头整型类型的内容

int size=request.getIntHeader("Content-Length");

(3).long getDateHeader(String name)
取得指定请求头日期类型的内容,返回long型表示从1970年1月1日0点开始计时的毫秒数

long datetime=request.getDateHeader("If-Modify-Since");

(4).Enumeration getHeaderNames()
取得所有请求头的列表,以枚举类型返回

for(Enumeration enum=request.getHeaderNames();enum.hasMoreElements();){
    String headername=(String)enum.nextElement();
    System.out.println("name:"+headername);
}

4.取得请求体中的数据

(1).String getParameter(String name)
取得指定名称的数据类型,主要用于处理表单数据

员工编号:<input type="text" name="userid" />
String id=request.getParameter("userid");

(2).String[] getParameterValues(String name)
取得指定名称的数据数组,主要用于处理复选框和下拉菜单

爱好:<input type="checkbox" name="behave" value="travel" />旅游
     <input type="checkbox" name="behave" value="read" />读书
     <input type="checkbox" name="behave" value="PE" />体育
String[] behaves=request.getParameterValues("behave");
for(int i=0;i<behaves.length;i++){
    out.println("behaves[i]");
}

(3).Enumeration getParameterNames()
取得所有参数的名称

for(Enumeration enum=request.getParameterNames();enum.hasMoreElements();){
    String paramname=(String)enum.nextElement();
    System.out.println("name:"+paramname);
}

(4).Map getParameterMap()
取得所有请求对象的参数名和值,包装在一个Map对象中,可以使用这个对象同时取得
所有参数名和参数值

Map params=request.getParameterMap();
Set names=params.keySet();
for(Object o:names){
    String paramname=(String)o;
    out.print(paramname+"="+params.get(paramname)+"<br/>");
}

(5).ServletInputStream getInputStream() throws IOExcepyion
取得客户提交的流
注意:getInputStream()方法和getParameter()方法不能同时使用

5.取得客户端相关信息

(1).String getRemoteHost()
取得请求客户的主机名

(2).String getRemoteAddr()
取得请求客户的IP地址

(3).int getRemotePort()
取得请求客户的端口号

(4).String getProtocol()
取得请求协议

(5).String getContentType()
取得请求体的内容类型,以MIME表达

(6).int getContentLength()
取得当请求体为二进制流时请求体的长度

(7).String getProtocol()
取得请求的协议,一般为HTTP,返回HTTP1.1

6.取得服务端信息

(1).String getServerName()
取得服务器的HOST,一般为IP地址

(2).int getServerPort()
取得服务器的接收端口

猜你喜欢

转载自blog.csdn.net/LY121600HACKER/article/details/78370257