浏览器发送给服务器的数据
请求行(url + 协议…)
请求头(浏览器发送给服务器的数据)
请求体(参数)
创建:web服务器创建的(Tomcat)
作用:封装浏览器发送给服务器的数据(请求行+请求头+请求体)
// 获得请求方法: get/post
request.getMethod();
// 统一资源标识符: /req/login
request.getRequestURI();
// 统一资源定位符: http://localhost:8080/req/login
request.getRequestURL();
// 协议和版本
request.getProtocol();
// 项目访问地址: /login
request.getContextPath();
// 客户端ip地址
request.getRemoteAddr();
// 根据请求头名称获得值
/* 常见请求头
Referer 服务器获取浏览器上一次访问的页面
If-Modified-Since 服务器获取浏览器缓存当前页面的时间
User-Agent 服务器获取客户端系统类型和浏览器类型
Connection 获得连接状态 keep-alive:保持连接 close:关闭连接
Host 获得服务器地址和端口号 */
request.getHeader("User-Agent");
// 获得所有请求头名称:返回迭代器对象(遍历)
request.getHeaderNames();
// 单个参数
request.getParameter("name");
// 单个参数多个值
request.getParameterValues("name");
// 获得所有请求参数名称
request.getParameterMap();
// 设置请求参数的编码为:utf-8
request.setCharacterEncoding("utf-8");
Servlet的三个作用域:请求域,会话域,上下文域
// 根据键从作用域中获取数据
request.getAttribute("key");
// 往请求域中存储键值对数据
setAttribute("key",value);
// 从请求域中根据键删除键值对数据
removeAttribute("key")
// 转发 地址不变,可携带参数
// 内部自己就做完了用 request
request.getRequestDispatcher("地址").forward(request, response);
// 重定向 地址改变
// 通知浏览器让他自己去访问对应地址用 response
response.sendRedirect("地址");
选择:如果需要共享请求域中的数据,使用转发。否则可以随便选择。
服务器端根目录 http://localhost:8080/项目访问地址 已经定位到项目
浏览器端根目录 http://localhost:8080/ 定义Tomcat服务器,没有定位到项目
地址不以" / "开头那么就代表是相对路径
注 404大多数情况就是地址写错了,多测试几个路径就会玩熟练了
浏览器发送给服务器的数据就是请求
服务器拿浏览器发送的数据就用request