第 4 课 使用 JSP 处理客户端请求.  掌握 Form 表单的请求处理  掌握 JSP 常用内置对象的用法 out 对象 request 对象 response 对象 本章目标.

Slides:



Advertisements
Similar presentations
第 4 章 配合 例子源代码一起使用 Power point 制作:耿祥义 张跃平 普通高等教育 “ 十一五 ” 国家级规划教材 JSP 内置对象.
Advertisements

第 4 章 JSP 内置对象 本章主要内容:  内置对象的概念  内置对象的作用域和生命期  内置对象的作用和关系  内置对象的使用方法.
第二章 JSP 编译指令. 课程目标  JSP 编译指令  JSP 页面的表达式  JSP 页面的注释  JSP 页面的声明  Scriptlets.
模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
Java Web 开发 授课人:张鸽. 第三讲 JSP 内置对象  JSP 有以下九种内置对象,包括:  ·request ,请求对象  ·response ,响应对象  ·pageContext ,页面上下文对象  ·session ,会话对象  ·application ,应用程序对象.
基于 JSP 搭建 Web 应用程序. 第五章 Web 应用程序优 化 回顾 什么是会话跟踪技术 ? cookie 和 session 的区别是什么 ? 对象的四种作用域范围分别是什么?
LOGO 第 9 章 Java Servlet 和 JSP 编程 孙焘. 重点: servlet 编程原理 1 servlet 的基础类与编程实现 2 JSP 编程原理 3 JSP 的常用语法 4.
醫學美學之我見ー肉毒桿菌 班級:應日三乙 姓名:蔡雅卉 學號: 497E0076. 前言 現在的人,已經把 整型看做是微不足 道的事情了。即使 只是戴牙套、局部 雷射、割雙眼皮、 打美白針、肉毒桿 菌等等,都可以在 身體上做不同的改 變,而讓自己更滿 意自己的外表。
动态网站开发 【HTTP与网络基础】 李博杰
HE Fixed Assets Manage System
动态Web开发技术--JSP.
第一章 JSP概述.
第五章 JSP内置对象 第4章学习了页面组成元素和使用方法。本章学习JSP内置对象的使用。使用JSP内置对象,可以方便操作页面,访问页面环境,实现页面内、页面间、页面与环境之间的通讯。 学习目标 熟悉主要内置对象的概念 理解主要内置对象的作用域和生命期 理解主要内置对象的作用和关系 熟悉主要内置对象的使用方法.
基于JSP搭建Web应用程序.
上节课我们是讲解了request, response, session, application 等内置对象,有了它们,我们就可以编写一个完整的应用程序了。 我们来看ebank这个小应用程序的编写。
讲故事训练 授课人:田轶.
第十一課 菜園 6-11.
校本选修课 第三专题 西藏问题 北京师大二附中 李文燕.
汇报大纲 一、报送系统总体介绍 二、自查及检查评分报送流程 三、自查及检查方法及关键点 四、建议及注意事项.
张孝祥IT课堂 -深入体验Java Web开发内幕
年度校樹選拔秀 主辦單位:楊梅國小.
MVC Servlet与MVC设计模式.
第七章 电子商务系统的运营与维护.
导 师: 张 伟 答辩人: 王 雄 专 业: 计算机科学与技术
新闻发布系统.
正修科技大學教學發展中心 教師教學觀摩與經驗分享 電子工程系 張法憲副教授.
香港明愛 綜合家居照顧服務 PWD個案分享.
第三章 使用XMLHttpRequest对象
俄语字母的发音体系 阅读规则.
蘇軾詞的賞析
柯奕宏(06) 王予亨(13) 郭秉逸(15) 楊雯凈(23) 顏佑瑩(32)
第十五章 传播学调查研究方法.
自然與生活科技領域 認識太陽能 蘇紋琪、石明玉.
Hello World 體驗實作第一個JSP程式.
 全能的天才畫家- 李奧納多‧達文西 (西元1452年-1519年) 指導老師:袁淑芬老師 製作人:饒佩芯.
《ASP.NET数据库网站设计教程(C#版)》
第9章 过滤器和监听器技术 过滤器(Filter)和监听器(Listener)是两种特殊的Servlet技术。过滤器可以对用户的请求信息和响应信息进行过滤,常被用于权限检查和参数编码统一设置等。监听器可以用来对Web应用进行监听和控制的,增强Web应用的事件处理能力。 本章主要介绍过滤器和监听器的编程接口、基本结构、信息配置、部署和运行,最后通过案例说明过滤器和监听器的典型应用。
【PHP程式設計】 實作一:計算BMI.
AJAX基础.
数据库操作示例 import java.sql.*; //导入java.sql包 public class JDBCDemo {
专题4:JSP脚本和指令.
JSP自定义标签技术的分析与应用 ----Custom Tag 的分析与应用
C# 的 Web 相關物件之使用 日期 : 2018/11/21.
電子商務網站建制技術與實習(II) 助教:江宜政 吳昇洋.
Cookie 存取Cookie Cookie有效時間 Session 存取Session session 函數
進階 WWW 程式設計 -- PHP Regular Expression 靜宜大學資訊管理學系 蔡奇偉副教授 2004
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 18 章 Cookie和 Session.
第六讲 JSP中的文件操作(2) 教学目的 本讲继续讲述JSP中使用Java输入、输出流实现文件的读写操作 。 1 文件上传 2 文件下载
第12章 JSP的檔案與電子郵件處理 12-1 伺服端的檔案處理 12-2 伺服端檔案的讀取與寫入 12-3 客戶端的檔案上傳
ASP动态网页设计实用教程 主讲教师: 开课单位:.
認識我的故鄉_台中市.
Cookie 存取Cookie Cookie有效時間 Session 存取Session session 函數
Web前端开发 第23章:网站发布 阮晓龙 / 河南中医药大学管理科学与工程学科
第3章 Java語法的JSP程式 3-1 Java語言的基礎 3-2 JSP程式的基本架構 3-3 Java的變數與資料型態
第 11 章 XML資料的傳遞 –XmlHttpRequest物件
JSP程序设计 第9章 Servlet简介.
第十二章 过滤器.
第5章 其他数据库对象.
1 Session对象的特性 Session 状态对象 Session 对象常用的方法有: Session 对象常用的属性有:
精忠报国  演唱:屠洪纲 作词:陈涛 作曲:张宏光  狼烟起 江山北望  龙起卷 马长嘶 剑气如霜  心似黄河水茫茫  二十年 纵横间 谁能相抗  恨欲狂 长刀所向  多少手足忠魂埋骨它乡  何惜百死报家国  忍叹惜 更无语 血泪满眶  马蹄南去 人北望  人北望 草青黄 尘飞扬  我愿守土复开疆  堂堂中国要让四方来贺.
HTTP 1.1 Method OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT
第6章 PHP的数据采集.
樂樂請假了 尊重的故事 資料來源:臺北縣國民小學品德教育手冊 故事來源:臺北縣國民小學品德教育手冊 網路小故事
聽聽那冷雨---重點摘要 二愛 王煜榕.
憲政與民主 應化3A 邱泓明.
指導教授:吳有龍教授 學生:黃寶慧 學號: G 日期:2008年12月24日
第十六章 網路家電控制 使用Webduino程式庫建立微型網站 Webduino的微網站程式碼 自訂錯誤訊息網頁 監控遠端的溫濕度值
第 10 章 JSP应用实例 10.1 网上书店概述 10.2 系统功能 10.3 数据库设计 10.4 各模块功能介绍及实现.
古蹟知性之旅 我和新港奉天宮有個約 報告人:陳 映 竹 傅 湘 甯.
HTML表单 JSP借由标签所构成的表单区块中,取得用户在其中特定字段输入的数据內容 。 JSP 动态网页新技术.
Presentation transcript:

第 4 课 使用 JSP 处理客户端请求

 掌握 Form 表单的请求处理  掌握 JSP 常用内置对象的用法 out 对象 request 对象 response 对象 本章目标

本章任务  升级新闻发布系统 从页面上添加新闻一级标题,并保存至数据库中 从页面上添加新闻二级标题,并保存至数据库中

为什么需要使用 HTML 表单 ? 如何在服务器端获得 文本框中的数据? HTML 表单是与用户交互信息的主要手段

回顾 HTML 表单 2-1  创建表单 一个表单至少应该包括说明性文字、表单控件、提交 和重填按钮等内容。 HTML 表单标记说明了表单提交的方式和地点。  创建表单控件 通过 HTML 表单的各种控件,用户可以输入文字信息, 或者从选项中选择,以及做提交的操作。 用户名: 密码:

 method 表示表单发送的方式, 分为两种: get 方式:将表单内容经过编码之后 ,通过 URL 发送, 使用 get 方式发送时有 255 个字符的限制。 post 方式:将表单的内容通过 http 发送, post 没有字符 长度的限制 回顾 HTML 表单 2-2 可以在地址 栏里看到 在地址栏看不到 表单的提交信息

表单处理的编程模式  用户通过表单控件输入并提交信息  JSP 获得表单数据,进行逻辑处理  JSP 根据处理结果,转向不同的结果页面 JSP 1 、获得表单数据 2 、进行逻辑处理 3 、根据处理结果返回不同页 JSP 1 、获得表单数据 2 、进行逻辑处理 3 、根据处理结果返回不同页 邮箱主页面 登陆失败页面 用户名、密码输入正确 用户名、密码输入错误 1 2 3

处理表单请求 5-1  升级新闻发布系统,要求如下: 从页面上添加新闻一级标题,并保存至数据库中 如果保存成功,返回成功页面 如果保存失败,返回失败页面 saveFirstLevelTitle.jsp 1 、获得用户输入的一级标题 2 、插入数据库 3 、根据保存结果返回不同的页面 saveFirstLevelTitle.jsp 1 、获得用户输入的一级标题 2 、插入数据库 3 、根据保存结果返回不同的页面 成功页面 失败页面 保存成功 保存失败 1 2 3

处理表单请求 5-2  创建一级标题的发布页面 (createLevelOneTitle.jsp)  创建发布成功页面 (success.jsp)  创建发布失败页面 (error.jsp) 发布页面的代码片断

处理表单请求 5-3  创建数据访问类 FirstLeveTitleDbOpreation 建立方法 getNewId() :用来获取新闻一级标题表中 最大的 ID ,并对它加一,作为新的一级标题的 ID 建立方法 insertOneRecord(FirstLevelTitle fTitle) : 用来向数据库中插入一条新闻一级标题

处理表单请求 5-4  创建发布提交页面 —— saveFirstLevelTitle.jsp <% request.setCharacterEncoding("GBK"); String titleName = request.getParameter("titlename"); FirstLevelTitle fTitle = new FirstLevelTitle(); fTitle.setTitleName(titleName); fTitle.setCreator(" 管理员 "); FirstLeveTitleDbOpreation dbOpreation = new FirstLeveTitleDbOpreation(); int result = dbOpreation.insertOneRecord(fTitle); if (result > 0) request.getRequestDispatcher(“success.jsp").forward(request, response); else request.getRequestDispatcher("error.jsp").forward(request,response); %> 获取用户输入 逻辑处理 返回不同页面

处理表单请求 5-5 演示:添加新闻一级标题整体效果演示

什么是 JSP 内置对象 ?  JSP 内置对象是 Web 容器创建的一组对象  JSP 内置对象是可以直接在 JSP 页面使用的对象 ,无需使 用 “new” 获取实例  JSP 内置对象的名称是 JSP 的保留字 <% request.setCharacterEncoding("GBK"); String titleName = request.getParameter("titlename"); %> 常用内置对象 request response out application session 示例 没有出现 new 关键 字,但却可以使用 request 对象

JSP 内置对象 out  out 对象用于向客户端输出数据  out 对象常用方法: print() :在页面中打印出字符串信息 <% out.print(“ hello 同学们! " ); %>

JSP 内置对象 request 4-1  request 对象主要用于处理客户端请求 JSP 页面 request 对象 客户端 请求请求信息

JSP 内置对象 request 4-2  request 对象常用方法 方法名称说明 String getParameter(String name) 根据页面表单组件名称获取页面提交数据 String[ ] getParameterValues (String name) 获取一个页面表单组件对应多个值时的用户 的请求数据 void setCharacterEncoding (String charset) 指定每个请求的编码 在调用 request.getParameter() 之前进行设定, 可以解决中文乱码问题 request.getRequestDispatcher(S tring path) 返回一个 javax.servlet.RequestDispatcher 对 象,该对象的 forward 方法用于转发请求

JSP 内置对象 request 4-3  编程实现论坛的注册功能 注册信息包括:用户名、密码、你从哪里知道本论坛 页面提交后,显示会员输入的数据 1 2

JSP 内置对象 request 4-4 用户名 密码 你从哪里知道本论坛 报刊 网络 朋友推荐 电视 String[] channels = request.getParameterValues("channel"); if (channels != null) { for (int i = 0; i < channels.length; i++) { out.println(channels[i]); } String[] channels = request.getParameterValues("channel"); if (channels != null) { for (int i = 0; i < channels.length; i++) { out.println(channels[i]); } request.setCharacterEncoding("GBK"); request.getParameter(“name”); request.getParameter("pwd");

JSP 内置对象 response 2-1  response 对象用于响应客户请求并向客户端 输出信息  response 对象常用方法 void sendRedirect (String location) :将请求重新 定位到一个不同的 URL JSP 页面 response 对象 客户端 响应 从服务器中 检索的信息 存储信息,以在响应客 户端请求时发送此信息

JSP 内置对象 response 2-2  在首页面( input.jsp )上输入用户名、密码,提交至 input2.jsp 进行处理  如果输入的用户名、密码都是 sa ,跳转至欢迎页面 ( welcome.jsp ) 用户名: 密码: input.jsp 客户端重新建立链接 <% request.setCharacterEncoding("GBK"); String name = request.getParameter("userName"); String pwd = request.getParameter("pwd"); if(name.equals("sa") && pwd.equals("sa")) response.sendRedirect("welcome.jsp"); %> 跳转至欢迎页面 input2.jsp

处理表单请求进阶 5-1  升级新闻发布系统,要求如下: 从页面上添加新闻二级标题,并保存至数据库中 如果保存成功,返回成功页面;保存失败,返回失败页 面 saveSecondLevelTitle.jsp 1 、获得用户输入 2 、插入数据库 3 、根据保存结果返回不同页面 saveSecondLevelTitle.jsp 1 、获得用户输入 2 、插入数据库 3 、根据保存结果返回不同页面 成功页面 失败页面 保存成功 保存失败 在下拉框中列出 所有一级标题 文件上载控件 1 2 3

处理表单请求进阶 5-2 字段名称字段说明数据类型大小 Id 序号 int4 TitleName 标题名称 varchar100 FilePath 文件位置 varchar200 Creator 创建者 varchar50 CreateTime 创建时间 datetime8 ParentTitle 所属一级标题的 ID int4  创建类 SecondLevelTitle.java :负责存储数据  创建类 SecondLevelTitleDbOpreation.java :负责向数 据库中添加新闻二级标题  创建表 SecondLevelTitle

处理表单请求进阶 5-3  创建新闻二级标题的发布页面( createLevelTwoTitle.jsp ) 代码片断 <% List list = new FirstLeveTitleDbOpreation().getAllFirstLevelTitleList(); if(list.size()>0){ for(int i=0;i<list.size();i++){ FirstLevelTitle fTitle = (FirstLevelTitle)list.get(i); %> "> 这是文件上载控件,该控件带有 一个文本框和一个浏览按钮 在下拉框中列出 所有一级标题

处理表单请求进阶 5-4  创建发布提交页面( saveSecondLevelTitle.jsp ) 代码片断 <% request.setCharacterEncoding("GBK"); String titleName = request.getParameter("titlename"); int parentTitleId = Integer.parseInt(request.getParameter("parenttitle")); String filePath = request.getParameter("filepath"); SecondLevelTitle sTitle = new SecondLevelTitle(); sTitle.setTitleName(titleName); …… SecondLevelTitleDbOpreation dbOpreation = new SecondLevelTitleDbOpreation(); int result = dbOpreation.insertOneRecord(sTitle); if (result > 0) { request.getRequestDispatcher("success.jsp").forward(request,response); } else { request.getRequestDispatcher("error.jsp").forward(request, response); } %> 获取用户输入 逻辑处理 返回不同页面

处理表单请求进阶 5-5 演示:添加新闻二级标题整体效果演示

总结 2-1 编程实现如下页面效果: input.jsp output.jsp 1 2

总结 2-2 input.jsp output.jsp 请选择您的性别: 女 男 请选择您喜欢的食物: 薯条 奶酪 String sex = request.getParameter("sex"); String[] foods = request.getParameterValues("foods"); String foodStr=""; if (foods != null) { for (int i = 0; i < foods.length; i++) { foodStr +=foods[i]+" "; } %> 您的性别是: 您喜欢的食物是: 单选框 复选框