目录

  • 1 课程概述及开发工具
    • 1.1 第1次课 课程概述
    • 1.2 第1次课  开发工具
  • 2 HTML基础(4+2)
    • 2.1 第2次课  认识HTML
    • 2.2 第3次课  表格制作
    • 2.3 第4次课  表单:文本框和按钮制作
    • 2.4 第4次课  表单:单选框制作
    • 2.5 第4次课  表单:复选框制作
    • 2.6 第4次课  表单:下拉框制作
    • 2.7 第4次课  表单综合练习
    • 2.8 综合项目:大学生消费水平调查问卷网页设计
    • 2.9 第4次课 CSS基础
      • 2.9.1 第4次课  认识CSS-嵌入式CSS语句
      • 2.9.2 第4次课  认识CSS-文档头内CSS语句
      • 2.9.3 第4次课  认识CSS-CSS外部文件应用
      • 2.9.4 附:CSS参考手册
  • 3 JSP开发基础
    • 3.1 第1次课 认识JSP
    • 3.2 第1次课  EL语言
    • 3.3 第1次课 JSP页面元素
    • 3.4 第2次课  JSP页面元素-代码片段
    • 3.5 第3次课  JSP页面元素-标签行为
      • 3.5.1 第3次课  标签行为jsp:useBean
    • 3.6 第4次课 标签行为 jsp:forward
      • 3.6.1 第4次课 标签行为jsp:param
    • 3.7 第5次课 再一次认识JSP
    • 3.8 附:JavaEE API(开发者参考手册)
    • 3.9 jsp基础测试题
  • 4 JSP内置对象
    • 4.1 第1次 JSP内置对象概述
    • 4.2 第1次 request对象概述
    • 4.3 第2次 request对象获取表单中的请求参数
    • 4.4 第3次 request对象获取URL中的请求参数
    • 4.5 第4次 小项目:列表导航与详情页面设计
    • 4.6 第5次 request对象获取特殊的请求参数-“一对多键-值”对(选)
    • 4.7 第5次 小项目:调查问卷(选)
    • 4.8 第6次 session对象
    • 4.9 第7次 存储“键-值”对到session对象
    • 4.10 第8次 存储“键-值(对象)”对到session对象
    • 4.11 第9次 小项目:果卉团-选购功能设计与实现
    • 4.12 第10次 application对象
    • 4.13 第10次 小项目:运用application实现留言板
  • 5 Servlet开发基础
    • 5.1 第1次 Servlet概述
    • 5.2 第1次 Servlet的生命周期
    • 5.3 第2次 Servlet生成HTML页面
    • 5.4 第3次 Servlet处理表单数据
    • 5.5 第4次 Servlet页面重定向
    • 5.6 第4次 小项目:Web计算器
    • 5.7 第5次 Servlet请求转发
    • 5.8 第6次 Servlet中访问HttpSession对象
    • 5.9 第7次 小项目:简单Web教师工资计算
  • 6 JDBC数据库访问技术
    • 6.1 第1次 JDBC概述
    • 6.2 第2次 JDBC-Statement、ResultSet
    • 6.3 第3次 JDBC实现Web页面简单查询
    • 6.4 第4次 JDBC完成表单查询应用
    • 6.5 第4次 小项目:“寝室大事记”Web查询系统
    • 6.6 第5次 JDBC-预准备语句PreparedStatement
    • 6.7 第6次 JDBC完成增删改功能应用
    • 6.8 第7次 小项目:基于层次架构模式的Web教师工资管理系统
    • 6.9 JDBC API
第4次 Servlet页面重定向

页面重定向概述

向客户浏览器发送页面重定向指令,浏览器接收后将向Web服务器重新发送页面请求,所以执行完后浏览器的url显示的是跳转后的页面。跳转页面可以是一个任意的URL。

HttpServletResponse的sendRedirect方法向客户浏览器发送页面重定向指令

HttpServletResponse接口

继承自ServletResponse接口。是一个返回到客户端的HTTP响应。

重要方法:

sendRedirect

public void sendRedirect(String location) throws IOException;

使用给定的路径, 给客户端发出一个临时转向的响应


ServletResponse接口

重要方法:

1.getCharacterEncoding

public String getCharacterEncoding();

返回相应使用字符解码的名字,默认为ISO-8859-1。

2.getOutputStream

public ServletOutputStream getOutputStream() throws IOException;

返回一个记录二进制的响应数据的输出流。

3.getWriter

public PrintWriter getWriter throws IOException;

这个方法返回一个PringWriter对象用来记录格式化的响应实体。

4.setContentLength

public void setContentLength(int length);

设置响应的内容的长度,这个方法会覆盖以前对内容长度的设定。

5.setContentType

public void setContentType(String type);

这个方法用来设定响应的content类型。



案例

一个具有表单的jsp页面(temp.jsp),点击提交按钮后,Servlet接收表单数据,不直接生成HTML页面输出接收到的这个数据。而是通过重定向技术后跳转到一个新的jsp页面(welcome.jsp),表单的数据直接作为重定向的URL参数值的方式传递给这个jsp页面。

 

具体编码:

jsp页面:

<body>

    <form action="Output">

       对我说Hello:<input name="word"type="text"><br>

       <input     name="enter"type="submit" value="确定">

       <input id="cancel"   type="reset" value="取消">

    </form>

</body>

Servlet程序:

Output.java:

       protectedvoiddoGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              request.setCharacterEncoding("utf-8");

              String  word =request.getParameter("word");

              response.setContentType("text/html;charset=utf-8");

              java.io.PrintWriter out=response.getWriter();

              out.println(name);

       }

转换成:不由servlet直接输出网页内容,而从Servlet中进行页面重定向,由另一个新的页面输出结果值。即是完成了jsp页面负责了“输出”。

Servlet程序:

       protectedvoid doGet(HttpServletRequestrequest, HttpServletResponse response) throws ServletException, IOException {

              request.setCharacterEncoding("utf-8");

              String  name =request.getParameter("word");

              response.setContentType("text/html;charset=utf-8");

              response.sendRedirect("welcome.jsp");

//            java.io.PrintWriter out=response.getWriter();

//            out.println(name);

       }

 

提交数据到该页面:

       protectedvoid doGet (HttpServletRequestrequest, HttpServletResponse response) throws ServletException, IOException {

              request.setCharacterEncoding("utf-8");

              String  word=request.getParameter("name");

              response.setContentType("text/html;charset=utf-8");

              response.sendRedirect("welcome.jsp?word="+word);

//            java.io.PrintWriter out=response.getWriter();

//            out.println(name);

       }

welcome.jsp:

<body>

文本框输入的是:<%=request.getParameter("word") %>

</body>

视频

对Serlvet页面重定向进行了介绍,并通过案例对比页面重定向和上节Serlvet生成页面构成客户端响应的对比。


测试题1: