Day17_学点JavaEE_转发、重定向、Get、POST、乱码问题总结

1 转发

转发:一般查询了数据之后,转发到一个jsp页面进行展示

java 复制代码
req.setAttribute("list", list);
req.getRequestDispatcher("student_list.jsp").forward(req, resp);

2 重定向



重定向:一般添加、删除、修改之后重定向到查找所有

java 复制代码
resp.sendRedirect("/student");

重定向的状态码是302,重定向的地址最终是由浏览器发送这个请求

3 Get

  1. 采用URL请求路径传输参数,参数拼接在URL后面
  2. 参数传输过程中隐私性较差,直接在URL后面
  3. 路径可以容纳的数据有限,只能传递少量参数
  4. form表单请求默认就是get

http://localhost:8080/student?method=deleteById\&id=23

http://localhost:8080/student?name=zhangsan\&age=12\&gender=男

Get方式传参,不是非得在form表单里面,可以手动写,在超链接的href里面直接在地址后面加?id=2

4 Post

  1. 采用实体内容传参数
  2. 参数在传输过程中不可见,隐私性好
  3. 实体内容专门用来传输数据,大小没有限制
  4. 使用:在form上加method="post"

不管是Get方式还是POST方式传参数,后台代码获取参数的方式都是一样的。

java 复制代码
req.getParameter("name");

5 乱码问题总结

5.1 数据库创建时候选择utf-8编码

连接数据库url:

java 复制代码
jdbc:mysql://localhost:3306/java?useUnicode=true&characterEncoding=UTF-8

5.2 解决post请求乱码问题 method="post"

在处理相关信息的Servlet中req.getAttribute("parameter")之前加一句

java 复制代码
req.setCharacterEncoding("UTF-8");

5.3 服务器响应浏览器的乱码问题

暂时没遇到,待补充例子。

java 复制代码
resp.setContentType("text/html;charset=utf-8");

6 前台往后台发请求方式

  1. form表单
  2. 超链接<a href="/student?method=deleteById&id=1">删除</a>
  3. location.href(JS脚本)
  4. ajax

7 代码

Day17_Student_CRUD

相关推荐
未若君雅裁4 分钟前
线程池核心参数与执行流程
java·开发语言
东方巴黎~Sunsiny8 分钟前
后端已经开始使用AI代替前端开发了
java·人工智能·状态模式
Sam_Deep_Thinking15 分钟前
结算分摊的策略模式:不同营销活动的扣点计算方案
java·设计模式·架构·系统架构
兰令水36 分钟前
leecodecode【回溯组合】【2026.6.5打卡-java版本】
java·开发语言
8Qi837 分钟前
LeetCode 518:零钱兑换 II(Coin Change II)—— 题解 ✅
java·算法·leetcode·动态规划·完全背包
cfm_291438 分钟前
SpringBoot整合RocketMQ极速实战
java·spring boot·后端
为爱停留38 分钟前
让智能体「记住」对话:Checkpoint 功能、持久化数据接口与 thread_id 详解
java·数据库·elasticsearch
Sylvia33.44 分钟前
2026世界杯全套数据API接入教程:WebSocket实时进球推送实例
java·网络·python·websocket·网络协议
linge_sun1 小时前
SpringAI 功能体验之SQL智能助手:用自然语言查询数据库
java·人工智能·ai编程
想取一个与众不同的名字好难1 小时前
安卓设置亮度的时候,系统会在100%与0%反复横跳
android·java·开发语言