目录

  • 1 阶段1模块一Java Web编程准备
    • 1.1 学习导航
    • 1.2 任务一进行系统需求分析与总体设计
    • 1.3 任务二搭建开发环境
    • 1.4 任务三制作静态页面
    • 1.5 任务四部署并运行第一个JSP文件
    • 1.6 模块一课件
    • 1.7 模块一习题
  • 2 阶段1模块二Java Web编程入门
    • 2.1 学习导航
    • 2.2 任务一认识JSP页面组成元素
    • 2.3 任务二认识JSP的内置对象
    • 2.4 任务三使用out对象输出信息
    • 2.5 任务四获取客户端请求数据
    • 2.6 任务五实现页面跳转
    • 2.7 任务六实现访问控制
    • 2.8 任务七制作网页计数器
    • 2.9 模块二 课件
    • 2.10 模块二习题
  • 3 阶段1模块三JavaWeb数据库编程
    • 3.1 学习导航
    • 3.2 任务一使用MySQL
    • 3.3 任务二使用SQL操作数据
    • 3.4 任务三认识连接数据库的步骤
    • 3.5 任务四使用Statement处理数据
    • 3.6 任务五使用PreparedStatement处理数据
    • 3.7 模块三课件
    • 3.8 模块三习题
  • 4 阶段1模块四JavaWeb基础阶段实训
    • 4.1 课件
    • 4.2 IT新闻资讯系统
  • 5 阶段2模块五Java Web应用优化
    • 5.1 学习导航
    • 5.2 任务一认识软件设计分层架构
    • 5.3 任务二使用分层架构实现管理员登录
    • 5.4 模块五课件
    • 5.5 模块五习题
  • 6 阶段2模块六Java Web开发业务应用
    • 6.1 学习导航
    • 6.2 任务一实现页面的分页显示
    • 6.3 任务二使用SmartUpload组件实现文件上传下载
    • 6.4 任务三使用图表组件显示动态数据图表
    • 6.5 模块六课件
    • 6.6 模块六习题
  • 7 阶段2模块七Servlet技术基础
    • 7.1 学习导航
    • 7.2 任务一认识Servlet
    • 7.3 任务二创建并运行一个简单的Servlet
    • 7.4 任务三使用Filter解决中文乱码问题
    • 7.5 模块七课件
    • 7.6 模块七习题
  • 8 阶段2模块八MVC开发模式
    • 8.1 学习导航
    • 8.2 任务一认识MVC模式
    • 8.3 任务二使用MVC模式实现用户登录
    • 8.4 模块八课件
    • 8.5 模块八习题
  • 9 阶段2模块九  Java Web进阶阶段实训
    • 9.1 模块九课件
    • 9.2 在线收藏夹
  • 10 阶段3模块十学生会网站项目开发
    • 10.1 模块十课件
  • 11 实训题库
    • 11.1 网络留言板系统1
    • 11.2 网络留言板系统2
    • 11.3 猜数游戏
    • 11.4 学生成绩查询系统
    • 11.5 场馆管理系统
    • 11.6 物资管理系统
    • 11.7 网络书签
    • 11.8 商品库存系统
    • 11.9 火车车次管理系统
    • 11.10 会议室预定系统
    • 11.11 人员档案管理系统
    • 11.12 新闻资讯系统
任务五实现页面跳转
  • 1 知识链接
  • 2 任务实现
  • 3 同步实训

【问题引入】

使用JSP处理客户端请求时一般遵循这样一种模式:首先,用户通过表单控件输入并提交信息或程序通过请求参数方式提交信息;接着,JSP页面获得客户端的请求数据并进行处理;最后,JSP页面根据处理结果转向不同的结果页面。获取客户端请求信息我们使用request对象的getParameter方法或getParameterValues方法,那么如何实现页面转向呢?

【实现思路】

JSP中可以使用重定向及转发方式来实现页面转向。

【知识链接】

1  转发与重定向

转发简单地说就是通过一个中介将甲方的请求传递给乙方。从程序运行的角度解答就是当客户端发送一个请求到服务器后,Web服务器调用内部的方法在容器内部完成请求处理和转发动作,然后将目标资源发送给浏览器,整个过程都是在一个Web容器内完成,因而可以共享request范围内的数据。而对于到客户端,不管服务器内部如何处理,作为浏览器都只是提交了一个请求,因而客户端的URL地址不会发生改变。使用requestgetRequestDispatcher()方法可以实现转发,通过转发能在多个页面交互过程中实现请求数据的共享。

使用response对象的sendRedirect()方法可以实现重定向。重定向是指客户端重新向服务器请求一个地址链接,由于是发送新的请求,因而上次请求中的数据将随之丢失。由于服务器重新定向了URL,因而在客户端浏览器中显示的是新的URL地址,所以重定向可以理解为是浏览器至少提交了两次请求。

转发和重定向都能实现页面的跳转,它们的区别如表2-3所示。

2-5  转发和重定向的区别

                             

 

名称

 
 

使用的对象

 
 

发挥作用的位置

 
 

地址栏情况

 
 

数据共享

 
 

重定向

 
 

response

 
 

客户端

 
 

显示转向后的地址

 
 

不共享request范围内的数据

 
 

转发

 
 

request

 
 

服务器端

 
 

不显示目标地址

 
 

共享request范围内的数据

 

2  使用response对象实现重定向

response对象用于响应客户请求并向客户端输出信息,sendRedirect ()方法是response对象最常用的方法,用来将请求重定向到一个不同的URL上。sendRedirect()方法的语法格式为:

response.sendRedirect(Stringpath);

path:用于指定目标路径,可以是相对路径,也可以是不同主机的其他URL地址。

3  使用request对象实现转发

使用requestgetRequestDispatcher()方法可实现转发。通过转发能在多个页面交互过程中实现请求数据的共享。