《《JSP数据交互》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《JSP数据交互》PPT课件.ppt(32页珍藏版)》请在金锄头文库上搜索。
1、JSPJSP数据交互数据交互数据交互数据交互第三章第三章回顾及作业点评回顾及作业点评JSP页面组成包括哪些内容?页面组成包括哪些内容?JSP注释分为几种情况?有何区别?注释分为几种情况?有何区别?请说明请说明request对象的作用,及其常用的方法有哪些对象的作用,及其常用的方法有哪些? 预习检查预习检查JSP如何处理响应信息?如何处理响应信息?什么是转发?什么是重定向?什么是转发?什么是重定向?简述简述JDBC如何实现数据库访问?如何实现数据库访问?本章任务本章任务实现管理员登录实现管理员登录 使用使用JSP访问数据库访问数据库实现新闻发布的功能实现新闻发布的功能本章目标本章目标使用使用re
2、sponse对象处理响应对象处理响应 使用转发与重定向控制页面跳转使用转发与重定向控制页面跳转使用使用JDBC访问数据库访问数据库JSP内置对象内置对象response 3-1response对象用于响应客户请求并向客户端输出信息对象用于响应客户请求并向客户端输出信息 response 对象常用方法对象常用方法void sendRedirect (String location):将请求重新定位到一个:将请求重新定位到一个不同的不同的URL,即页面重定向,即页面重定向JSP 页面页面response 对象对象客户端客户端响应响应从服务器中从服务器中检索的信息检索的信息存储信息,以在响应客存储信
3、息,以在响应客户端请求时发送此信息户端请求时发送此信息用用户名:名:密密码:JSP内置对象内置对象response 3-2根据业务逻辑实现页面跳转根据业务逻辑实现页面跳转input.jsp客户端重新建立链接客户端重新建立链接跳转至欢迎页面跳转至欢迎页面control.jspJSP内置对象内置对象response 3-3页面实现跳转了,请求的信息是否也一起页面实现跳转了,请求的信息是否也一起转移呢?转移呢?演示示例:页面跳转后获取请求信息演示示例:页面跳转后获取请求信息那么如何才能实现页面跳转后,请求信息那么如何才能实现页面跳转后,请求信息不丢失呢?不丢失呢?使用转发取代重定向实现页面跳转使用转
4、发取代重定向实现页面跳转页面的转发页面的转发转发的作用:在多个页面交互过程中实现请求数据的共享转发的作用:在多个页面交互过程中实现请求数据的共享转发的实现:转发的实现:RequestDispatcher对象对象forward()方法方法将当前接收的用户请求,发送给服务将当前接收的用户请求,发送给服务器的其他资源使用器的其他资源使用演示示例:页面跳转后获取请求信息演示示例:页面跳转后获取请求信息转发与重定向的比较转发与重定向的比较转发是在服务器端发挥作用,通过转发是在服务器端发挥作用,通过forward方法将提交信息方法将提交信息在多个页面间进行传递。在多个页面间进行传递。转发是在服务器内部控制
5、权的转移,客户端浏览器的地址栏转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显示出转向后的地址不会显示出转向后的地址重定向是在客户端发挥作用,通过请求新的地址实现页面转重定向是在客户端发挥作用,通过请求新的地址实现页面转向向重定向是通过浏览器重新请求地址,在地址栏中可以显示转重定向是通过浏览器重新请求地址,在地址栏中可以显示转向后的地址向后的地址练习练习转发与重定向的应用转发与重定向的应用需求说明需求说明用户进入个人邮箱,要求:用户进入个人邮箱,要求:登录成功后需要在空间首页显示登录成功后需要在空间首页显示“欢迎你欢迎你xxx”的字样的字样登录失败后,返回到登录界面,重新登录登录失败
6、后,返回到登录界面,重新登录完成时间:完成时间:20分钟分钟JDBC相关知识回顾相关知识回顾 3-1JDBC是是Java数据库连接技术的简称,提供连接各种常用数据库连接技术的简称,提供连接各种常用数据库的能力数据库的能力Java应用程序应用程序JDBCJDBCJSP/Servlet客户端客户端数据库服务器数据库服务器应用服务器应用服务器数据库服务器数据库服务器客户端客户端JDBC相关知识回顾相关知识回顾 3-2JDBC APIDriverManager类类Connection接口接口Statement接口接口ResultSet接口接口DriverManager作用:载入各种不同的作用:载入各种
7、不同的JDBC驱动驱动JDBC 驱动驱动作用:负责连接各种不同的数据库作用:负责连接各种不同的数据库SQL SQL ServerServerOracleOracleJDBC API JDBC Driver Manager JDBC 驱动驱动 JDBC 驱动驱动 Java 应用程序应用程序 JDBC相关知识回顾相关知识回顾 3-3JDBC API可做三件事:与数据库建立连接、执行可做三件事:与数据库建立连接、执行SQL 语语句、处理结果句、处理结果ConnectionDriverManagerStatementResultSet DriverManager :依据数据库的不同,管理:依据数据库的
8、不同,管理JDBC驱动驱动 Connection :负责连接数据库并担任传送数据的任务:负责连接数据库并担任传送数据的任务 Statement :由由 Connection 产生、负责执行产生、负责执行SQL语句语句 ResultSet:负责保存:负责保存Statement执行后所产生的查询结果执行后所产生的查询结果客户端客户端数据库服务器数据库服务器1234JSP访问数据库访问数据库获得数据库连接获得数据库连接发送发送Sql语句语句处理结果处理结果注册注册JDBC驱动驱动释放资源释放资源必须处理的异必须处理的异常常JSP中实现数据库访问就是将数据库访问代码以小脚本中实现数据库访问就是将数据库
9、访问代码以小脚本的方式体现在的方式体现在JSP页面当中页面当中注意:需要使用注意:需要使用page指令导入相应的类库指令导入相应的类库导入类库导入类库JSP访问数据库应用访问数据库应用4-1用户注册功能实现,要求如下:用户注册功能实现,要求如下:从页面上添加用户注册信息从页面上添加用户注册信息如果保存成功,返回登录页面如果保存成功,返回登录页面保存失败,返回失败页面保存失败,返回失败页面control.jsp 1、获得用户输入、获得用户输入2、插入数据库、插入数据库3、根据保存结果返回不同页面、根据保存结果返回不同页面成功页面成功页面失败页面失败页面保存成功保存成功保存失败保存失败123JSP
10、访问数据库应用访问数据库应用4-2字段名称字段名称字段说明字段说明数据类型数据类型大小大小uid序号序号number4uname用户名称用户名称varchar250upwd密码密码varchar250创建表创建表usersJSP访问数据库应用访问数据库应用4-3创建注册页面创建注册页面 用户名用户名 输入登录密码输入登录密码 省略余下的代码省略余下的代码 提交:提交: 完整代码实现完整代码实现JSP访问数据库应用访问数据库应用4-4创建业务处理页面创建业务处理页面try Class.forName(oracle.jdbc.driver.OracleDriver); con =DriverMan
11、ager.getConnection(连接字符串连接字符串, 用户名用户名, 密码密码); stmt = con.createStatement(); String str = select max(id) from loguser; int maxid =0; rs = stmt.executeQuery(str); if(rs.next() maxid = rs.getInt(1)+1;/获取新的用户编号获取新的用户编号 String sql = insert into loguser values(+maxid+,+name+,+pwd+); validate = stmt.execut
12、eUpdate(sql); catch (Exception e) e.printStackTrace(); 完整代码实现完整代码实现演示示例:用户注册信息保存实现演示示例:用户注册信息保存实现JavaScript页面验证与页面验证与JSP的集成的集成在在JSP页面中增加页面中增加JavaScript验证:如果用户输入的信息验证:如果用户输入的信息为空,表单不能提交为空,表单不能提交 -代代码片断片断-function checkUserInfo() if(document.myform.username.value=)alert(用户名不能为空用户名不能为空);return false; 通
13、过通过onClick事件触发事件触发checkOneTitle()方法方法完整代码实现完整代码实现练习练习创建新闻系统数据库创建新闻系统数据库需求说明需求说明创建新闻发布系统数据表创建新闻发布系统数据表新闻栏目表新闻栏目表用户表用户表评论表评论表新闻表新闻表完成时间:完成时间:15分钟分钟指导指导实现管理员登录验证实现管理员登录验证需求说明需求说明管理员登录页面管理员登录页面用户名、密码文本框用户名、密码文本框使用使用JavaScript进行表单非空验证进行表单非空验证业务处理页面业务处理页面获取登录页面表单数据获取登录页面表单数据访问数据库查询用户名和密码是否正确访问数据库查询用户名和密码是
14、否正确根据查询结果跳转到成功或失败页面根据查询结果跳转到成功或失败页面完成时间:完成时间:20分钟分钟共性问题集中讲解共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解练习练习显示新闻列表显示新闻列表需求说明:需求说明:管理员登录后,显示管理员登录后,显示新闻列表新闻列表使用集合保存新闻使用集合保存新闻完成时间:完成时间:20分钟分钟练习练习显示新闻主题列表显示新闻主题列表需求说明需求说明将新闻主题以列表将新闻主题以列表方式显示方式显示显示新闻主题显示新闻主题的名称的名称完成时间:完成时间:20分钟分钟共性问题集中讲解共性问
15、题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解练习练习添加新闻主题添加新闻主题需求说明需求说明新闻主题添加页面新闻主题添加页面主题名称主题名称业务处理页面业务处理页面获取主题名称获取主题名称将主题保存到数据库将主题保存到数据库中中保存成功后返回主题保存成功后返回主题列表列表完成时间:完成时间:20分钟分钟练习练习实现发布新闻实现发布新闻需求说明需求说明实现新闻的发布实现新闻的发布将发布内容保存到数将发布内容保存到数据库中据库中图片上传功能暂不实图片上传功能暂不实现现完成时间:完成时间:20分钟分钟共性问题集中讲解共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解总结总结JSP是如何实现对用户请求的相应?是如何实现对用户请求的相应?什么是重定向?什么是转发?什么是重定向?什么是转发?转发与重定向的区别?转发与重定向的区别?JSP如何实现数据库访问?如何实现数据库访问?作业作业课后作业课后作业必做必做教员备课时在此添加内容教员备课时在此添加内容选做选做教员备课时在此添加内容教员备课时在此添加内容提交时间:提交时间:xxx提交形式:提交形式:xxx预习作业预习作业背诵英文单词背诵英文单词教员备课时在此添加内容教员备课时在此添加内容教育改变生活