## 作用:
* 獲取請求頭數據
* 獲取請求方式:`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常見錯誤