javaweb-servlet中request请求转发
2023-02-26 09:51:11 时间
servlet中request请求转发
请求转发是一种在服务器内部的资源跳转方式
1.通过request对象获取请求转发器对象 : RequestDispatcher getRequestDispatcher(String path) 2.使用RequestDispatcher对象来进行转发: forward(ServletRequest request, ServletResponse response)
下面是一个转发例子:
//例子一:
req.getRequestDispatcher("/此处填写需要转发的路径").forward(ServletRequest request, ServletResponse response)
//forward后面将当前的request和response传递过去
//例子二:
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/requestDemo6");
requestDispatcher.forward(request,response);
在request转发请求的时候, 注意: 浏览器地址栏路径不发生变化; 只能转发到当前服务器内部资源中; 转发是一次请求;
request.setAttribute("name",value);
//在转发路径的地方前面加上述的代码,可以实现转发数据共享,这样就可以在转发后的页面接受转发的数据
//在转发页面,可以使用request.getAttribute()接受上一个页面转发的数据
//例如
String name = request.getAttribute("name");
//如此做就可以接受到name这个键值
完整实例代码
/httpServlet09
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setAttribute("name", "fish9");//转发数据
req.getRequestDispatcher("/httpServlet10").forward(req, resp);
}
/httpServlet10
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = (String) req.getAttribute("name");//接受数据
System.out.println(name);//输出转入过来的数据
System.out.println("httpServlet10");
}
本文共 261 个字数,平均阅读时长 ≈ 1分钟
相关文章
- 编译安装MySQL5.7
- MySQL的增删改查
- MySQL开启慢查询日志
- MySQL二进制日志截取和恢复
- MySQL备份恢复
- Ubuntu20.04安装MySQL5.7.18、jdk1.8、tomcat8.0.47
- 入选 Gartner 全球数据库魔力象限,腾讯云数据库是怎么做到的?
- 敏态扩展,灵活应变!TDSQL新引擎TDStore技术探索
- 记一次由于DDL语句导致的mysql满CPU线上事故
- 数据库update 随机时间-mysql多库表关联问题症结
- 数据库update 随机时间-FME【耕地资源质量分类年度更新】数据库表格汇总统计模板工具
- SQL注入从入门到进阶
- 内存数据库 mysql-mysql in memory_In-Memory:内存数据库
- delphi 数据库连接池-kettle案例3.5--数据库连接
- delphi 数据库连接池-Spring事务管理 | 数据库连接池流程原理分析
- delphi 数据库连接池-MySQL之数据库连接池(Druid)
- delphi 数据库连接池-c3p0,DBCP,Druid(德鲁伊)数据库连接池
- 揭晓:一条SQL语句的执行过程是怎么样的?
- 数据库update语法-MySQL数据库 | SQL语句详解
- SQL教程,完全理解SQL语法函数就差这10步