javaWeb如何转发数据,jsp页面如何接收?
1.情景展示
现在有一个需求就是:请求达到服务器后,服务器需要将请求的数据传给另一个页面,如何实现?
2.目标分析
通过服务器跳转到页面上,有两种实现方式:一种是转发,一种是重定向。
我们知道转发可以携带数据,而重定向无法携带数据,所以,要想携带数据跳转页面,必须通过转发实现。
3.解决方案
通过request对象的setAttribute()传值给页面;页面通过getAttribute()取值。
请求地址
http://localhost:8070/demo2/dispatcher.do?userName=%25E7%2594%25A8%25E6%2588%25B7%25E5%2590%258D&password=pwd
// 告诉浏览器以utf-8的字符集来解析success.jsp
response.setCharacterEncoding("utf-8");
// 用户名
String userName = request.getParameter("userName");
// tomcat服务器,会自动解码一次,这里需要再解码一次(userName总共编码了两次)
userName = URLDecoder.decode(userName,"utf-8");
// 密码
String password = request.getParameter("password");
// 转发页面时需要携带的数据
request.setAttribute("userName", userName);
request.setAttribute("password", password);
// 跳转到success.jsp(浏览器的地址栏不会发生变化)
request.getRequestDispatcher("/success.jsp").forward(request, response);
页面取值的两种方式:
1.通过EL表达式获取;
${属性名}
2.通过小脚本获取。
<%=request.getAttribute("属性名")%>
4.效果展示

说明:
页面通过request对象取值的方法,只能在jsp中实现,因为:jsp的本质是servlet,而servlet属于java语言,所以jsp可以直接使用request对象,进而能够取值。
相应的,如果你转发的是一个html文件,那么不好意思,你将无法获取到request对象携带的数据。
javaWeb如何转发数据,jsp页面如何接收?的更多相关文章
- Servlet转发到JSP页面的路径问题
一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同 ...
- Vue.js连接后台数据jsp页面  ̄▽ ̄
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 控制层传递参数到jsp页面,jsp页面进行接收
在java代码中,控制层方法如下(采用model,还有其他方式) public String mysave(MyTreeMould myTreeMould, Model model) {...... ...
- javaweb 与jsp页面的交互流程 (初次接触时写)
javaweb 与jsp页面的交互流程 javaweb项目目录 1. javaweb项目的一般目录: 2. jsp 页面一般情况下放在 top(前台页面) back(后台页面) 3. 后台代码 放在s ...
- 【JavaWeb】JSP 页面
JSP 页面 简介 JSP(Java Server Pages),即 Java 的服务器页面.它的主要作用是代替 Servlet 程序回传 HTML 页面的数据,因为 Servlet 程序回传 HTM ...
- 编写无Java脚本的JSP页面
在上一章中总结了Web开发中应用MVC架构模式,将Servlet 用做控制器,JSP作为视图,JavaBean作为模型,实现业务流程控制,页面逻辑和业务逻辑的分离.然而,使用前面的技术实现MVC,并不 ...
- Servlet跳转到JSP页面后的路径问题相关解释
一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同 ...
- JSP页面+请求转发+EL表达式
1) JSP全称Java Server Pages,顾名思义就是运行在java服务器中的页面,也就是在我们JavaWeb中的动态页面,其本质就是一个Servlet.2) 其本身是一个动态网页技术标准, ...
- jsp与jsp页面间的值传递与接收
1.使用<a>标签 传递值 <a href="index.jsp?name=增加数据">增加数据</a> ///////目标页面/////值// ...
随机推荐
- table布局 常见问题总结
table实用属性: 属性 值 作用 描述 table-layout auto 自动计算列宽 对table和td.th指定的宽度无效 浏览器会计算所有单元格的内容宽度才能得出一列宽度 (默认值) fi ...
- windows通过秘钥使用ssh和scp
windows10内置支持了ssh和scp等仿linux指令,可以让我们方便的使用类似linux的工作流把日常的代码资源部署维护工作写成脚本(批处理). ssh和scp都有-i参数可以通过指定一个私钥 ...
- Java基础笔记之数据类型
一.数据类型 (一)8种基本数据类型(内置数据类型\C#中为值类型) 字符长度:1byte = 8 bit; 布尔:可认为是 1byte (8 bit);
- SQLServer之服务器连接
目录 SQL Server Management Studio连接 CMD命令行窗口连接 通用数据连接文件连接 SQL Server Management Studio连接 定义 SQL Server ...
- 有哪位大侠操作过NPOI生成word文档,如何设置页眉页脚距离顶部和底部距离?
#region 1.创建文档(页眉.页脚) XWPFDocument doc = new XWPFDocument(); //页面设置 A4:w=11906 h=16838 doc.Document. ...
- 通过Nginx获取用户真实IP
nginx配置 location / { proxy_set_header Host $host; proxy_set_header X-real-ip $remote_addr; proxy_set ...
- 监控微信小程序中的慢HTTP请求
摘要: 请求时间太长,影响用户体验,使用 Fundebug 监控慢请求. Fundebug 的微信小程序监控插件在 0.5.0 版本已经支持监控 HTTP 请求错误,在小程序中通过wx.request ...
- 【转】WPF 异步执行方法后对 UI 进行更新的几种方法
使用 async/await 的情况: private async void Button_Click(object sender, RoutedEventArgs e) { (sender as B ...
- PHP如何创建文件夹(mkdir的用法,mkdirs的语法)【转】
(PHPmkdir如何创建多级目录) 在开始之前,我先说明一下,可能许多朋友与我一样认为只要给一个路径,mkdir就可以创建文件夹,其它不是那样,单个的MKDIR只能创建一级目录,对于多级的就不 ...
- 2.redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?
作者:中华石杉 面试题 redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 面试官心理分析 这个是问 redis 的时候,最基本的 ...