当前位置: 首页 > 工具软件 > java-requests > 使用案例 >

JavaWeb-Request

薄鸿远
2023-12-01

HTTP请求(request)

浏览器发送给服务器的数据

组成

请求行(url + 协议…)
请求头(浏览器发送给服务器的数据)
请求体(参数)

HttpServletRequest

创建: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

 类似资料: