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对象学习:
* 作用:request对象中封存了当前所有请求的信息
* 使用:
* 获取请求头数据
* req.getMethod();//获取请求方式
* req.getRequestURI();//获取请求URI
* req.getRequestURL();//获取请求URL
* req.getScheme(); //获取协议
*
* 获取请求行数据
* req.getHeader("键名");//返回指定的请求头信息
* req.getHeaderNames("User-Agent");//返回请求头键名的枚举集合
*
*
* Enumeration e = req.getHeaderNames();
while(e.hasMoreElements()){
String name = (String) e.nextElement();
String value2 = req.getHeader(name);
System.out.println(e.nextElement()+":"+name);
* 获取用户数据
* req.getParameter("键名");//返回指定的用户数据
* req.getParameterValues("键名");//返回同键不同值的请求数据(多选),返回的数组
* req.getParameterNames();//返回所有用户请求数据的枚举集合
*
* 注意:如果要获取的数据请求不存在不会报错,返回null
*
* 注意:
* request对象时由Tomcat服务器创建,并作为实参传递给处理请求的servlet的service方法。
*
*
* @author Administrator
*
*/
public class RequestServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//获取请求头数据
//获取请求方式
String method = req.getMethod();
System.out.println(method);
//获取请求URL
StringBuffer url= req.getRequestURL();
System.out.println(url);
//获取URI
String uri =req.getRequestURI();
System.out.println(uri);
//获取请求协议
String schem = req.getScheme();
System.out.println(schem);
//获取请求行数据 String value = req.getHeader("User-Agent");
System.out.println(value);
//获取所有请求行数据的枚举
Enumeration e = req.getHeaderNames();
while(e.hasMoreElements()){
String name = (String) e.nextElement();
String value2 = req.getHeader(name);
System.out.println(e.nextElement()+":"+name);
//获取用户数据
String name1= req.getParameter("uname");
String pwd = req.getParameter("pwd");
System.out.println(name1+":"+pwd);
// String fav = req.getParameter("fav");会漏值要用数组提取
String[] favs=req.getParameterValues("fav");
if(favs!=null){
for(String fav:favs){
System.out.println(fav); }
}
//获取用户请求数据所有键的枚举的集合------req.getParameterNames(); } } }
requestservlet.java
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'MethodJsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body> <form action="req" method="post">
用户名:<input type="text" name="uname" value=""><br />
密码:<input type="password" name="pwd" value=""><br />
爱好:<br />
<input type="checkbox" name="fav" value="1">唱歌<br />
<input type="checkbox" name="fav" value="2">跳舞<br />
<input type="checkbox" name="fav" value="3">泡妞<br />
<input type="submit" value="登录"> </form>
</body>
</html>
jsp页面
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>servletlife</servlet-name>
<servlet-class>com.sxt.in.servletlife</servlet-class>
<load-on-startup>1</load-on-startup><!-- 加载服务器启动流 其中的数字1表示项目的加载顺序-->
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>ServletMethod</servlet-name>
<servlet-class>com.sxt.in.ServletMethod</servlet-class>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>RequestServlet</servlet-name>
<servlet-class>com.sxt.in.RequestServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>servletlife</servlet-name>
<url-pattern>/life</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletMethod</servlet-name>
<url-pattern>/method</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>RequestServlet</servlet-name>
<url-pattern>/req</url-pattern>
</servlet-mapping> </web-app>
xml页面