在tomcat服务器中客户端发送过来的数据全部都封装在了request对象中。使用对象来存储这些临时数据。
由http协议我们知道了,客户端发送的请求数据有哪些:
关于http协议:https://blog.csdn.net/qq_40301026/article/details/89644555
请求行,请求头部,空行,请求数据这四大块。
所以如何拿到它们是request存在的意义。(切记request对象已经对这些数据进行了切割,封装)
- 拿到请求行相关数据:
String method=req.getMethod();//获取请求方式
String uri = req.getRequestURI();//获取请求的uri
StringBuffer url = req.getRequestURL();//获取请求的url
String scheme = req.getScheme();//获取请求的协议
- 拿到请求头部相关数据:
Enumeration hn = req.getHeaderNames();//它们是以键值对方式存在的,所以获得它们所有的键
while(hn.hasMoreElements()){
String name = (String) hn.nextElement();
String value = req.getHeader(name);
System.out.println(name+"----"+value);
}
- 获取用户信息
String uname = req.getParameter("uname");
String password = req.getParameter("password");
package cn.liu.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;
/**
* req请求对象是服务器已经封装好的,所有数据可以用get或set方式去拿或写
* @author Dick
*
*/
public class ResquestServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取请求行的信息
String method=req.getMethod();
System.out.println("method:"+method);
String uri = req.getRequestURI();
System.out.println("uri:"+uri);
StringBuffer url = req.getRequestURL();
System.out.println("url:"+url);
String scheme = req.getScheme();
System.out.println("scheme:"+scheme);
//获取请求头部信息
Enumeration hn = req.getHeaderNames();
while(hn.hasMoreElements()){
String name = (String) hn.nextElement();
String value = req.getHeader(name);
System.out.println(name+"----"+value);
}
//获取用户信息
String uname = req.getParameter("uname");
String password = req.getParameter("password");
System.out.println(uname+"---"+password);
//处理请求信息
//响应请求数据
resp.getWriter().write("gg");
}
}