Java Web 学习总结(4) — Request对象
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象和代表响应的response对象。
我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。
1. HttpServletRequest
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
通过HttpServletRequest获取前端用户提交的信息。
1.1 Request对象的常用方法
-
获取客户机的信息
方法 说明 request.getContextPath(); 获得web项目路径 request.getRequestURI(); 请求的URL路径 request.getRemoteUser(); 获得远程的用户名 request.getRequestedSessionId(); 获得SessionId request.getServletPath(); 请求servlet的url request.getLocalAddr(); 获得本地地址 防火墙 request.getLocalName(); 获得本地名字 request.getLocalPort() 获得访问的端口号 request.getLocalName(); 返回WEB服务器的主机名 -
获取客户机请求参数:
获取客户单提交的数据 方法 request.getParameter(); 获取前端传递的控件信息,通过控件的name getParameter(String) 获取多选框的信息,多选框的name必须一致 getParameterValues(String name) 编写框架事使用 getParameterMap(); -
向客户端(浏览器)请求时的编码方式:
request.setCharacterEncoding("UTF-8");
1.2 通过request获取客户端的信息
package org.javaweb.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class RequestDemo01 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//查看request对象的方式
System.out.println(request.getContextPath()); //获得web项目路径
System.out.println(request.getRequestURI()); //请求的URL路径
//Remote 远程
System.out.println(request.getRemoteUser()); //获得远程的用户名
System.out.println(request.getRequestedSessionId()); //获得SessionId;
System.out.println(request.getServletPath()); //请求servlet