## 作用:
* 获取请求头数据
* 获取请求方式:`String method= request.getMethod();`
* 获取请求url:`StringBuffer url= request.getRequestURL();`
* 获取uri:`String uri = request.getRquestURI();`
* 获取协议:`String h = request.getScheme();`
* 获取请求行数据
* 获取指定请求行信息:`String value = request.getHeader("Host");`
* //获取所有请求行的键的枚举:见代码ServletRequest.java
* 获取用户数据:见代码ServletRequest.java
## 代码:ServletRequest.java
```
package com.igeek.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 获取请求头数据
获取请求行数据
获取用户数据(重点)
request.getParameter("键名")//返回指定的用户数据
request.getParameterValue("键名")//返回同键不同值的请求数据(例如 多选框),返回的是数组
request.getParameterNames()//返回所有用户数据的枚举集合
注意:
如果要获取的请求数据不存在,不会报错,返回null
*
* Servlet implementation class ReqServlet
*/
public class ReqServlet extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取请求头数据
//获取请求方式
String method = request.getMethod();
System.out.println(method);
//获取请求url
StringBuffer url = request.getRequestURL();
System.out.println(url);
//获取uri
String urI= request.getRequestURI();
System.out.println(urI);
//获取协议
String h = request.getScheme();
System.out.println(h);
//获取请求行数据
//获取指定请求行信息
String value = request.getHeader("Host");
System.out.println(value);
//获取所有请求行的键的枚举
Enumeration e = request.getHeaderNames();
while(e.hasMoreElements()) {
String name= (String)e.nextElement();//获取键的名字
String value2=request.getHeader(name);//获取键值
System.out.println(name+":"+value2);//输出键值对
}
//获取用户数据
String name = request.getParameter("uname");
String pwd = request.getParameter("pwd");
System.out.println(name+":"+pwd);
String[] favs = request.getParameterValues("fav");
if(favs!=null) {
for(String fav:favs) {
System.out.println(fav);
}
}
}
}
```
### 代码:Method.jsp
```
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="Req" method="get">
用户名:<input type="text" name="uname" value=""/><br/>
密码:<input type="text" name="pwd" value=""/><br/>
爱好:
<input type="checkbox" name="fav"/>篮球<br>
<input type="checkbox" name="fav"/>乒乓球<br>
<input type="checkbox" name="fav"/>滑板 <br>
<input type="submit" value="登陆"/>
</form>
</body>
</html>
```
- servlet学习
- HTTP的概念和介绍
- servlet的概念和介绍
- 服务器
- servlet的生命周期
- 不用配置web.xml文件的servlet文件的创建方法
- 创建一个web项目
- service,doget,dopost方法的区别
- reuqest对象
- response对象
- servlet的使用流程
- 请求中文乱码解决
- 请求转发学习,request作用域,重定向
- 错误
- Httpservlet cannot be resolved to a type的原因与解决方法
- eclipse中创建servlet项目没有web.xml问题
- HttpServlet无法自动补全,无法导包
- 创建servlet后,web.xml没有自动配置
- 表单提交错误
- servlet常见错误