第四章 JSP数据库访问技术.ppt_第1页
第四章 JSP数据库访问技术.ppt_第2页
第四章 JSP数据库访问技术.ppt_第3页
第四章 JSP数据库访问技术.ppt_第4页
第四章 JSP数据库访问技术.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JSP动态Web技术,黑龙江农业经济职业学院软件技术专业,JSP数据库访问技术,内容提要,4,学习目标,1,2,3,5,登录注册模块,信息浏览模块,后台管理模块,在线投票系统,学习目标,掌握JDBC连接数据库技术 掌握在Web页面实现数据查询、修改、增加、删除技术 掌握数据分页显示 了解网站后台的开发和管理,学生信息系统登录注册模块,登录注册模块分析,预备知识JDBC,JDBC(Java DataBase Connectivity): JDBC是执行SQL语句的API:是第一个标准化地把关系数据库和Java程序集成到一起的尝试; 与一个数据库建立连接; 向数据库发送SQL语句; 处理数据库返回

2、的结果。,加载桥接器驱动程序,Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); Class是包java.lang中的一个类,该类调用静态方法forName就可以建立桥接器。 注意:处理异常。 try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); catch(ClassNotFoundException e) ,连接到数据库,使用java.sql包中的Connection类声明一个对象; 使用DriverManager类调用静态方法getConnection创建这个连接对象 Connection con=

3、DriverManager.getConnection(“jdbc:odbc:数据源名字”,”login name”,”password”);,假设数据库students的数据源的名称为sun,建立的方法为: try Connection con = DriverManager.getConnection(jdbc:odbc:banji);catch(SQLException e) ,连接到数据库,向数据库发送SQL语句,用Statement声明一个SQL语句对象; 调用连接数据库的对象con调用方法createStartment()创建SQL对象;,try Statement sql=con

4、.createStatement(); Catch(SQLException e) ,处理查询结果,查询对象:ResultSet类声明的对象; SQL语句对象:调用方法对表查询和修改; ResultSet rs=sql.executeQuery(“select * from 表名”); 多行数据显示方法:ResultSet对象一次只能看到一个数据行,使用next()方法移到下一数据行: rs.next(),数据库连接过程,建立数据库stuinfo,建立数据表user_info 建立数据源:banji 步骤:控制面板ODBC数据源系统(用户)DSN添加不同数据库驱动程序完成数据源名选择数据库 装

5、载驱动程序; 连接数据库; 创建Statement接口对象; 处理结果集,模块实现,设计首页:index.jsp 注意: form的action属性“login_check.jsp”; 用户名文本框:name属性“name” 密码文本框:name属性“password” 验证登录:“login_check.jsp” 用户注册页面:register.jsp,模块分析,项目分析,插入文件,保存用户名session对象调用setAttribute(String key,Object value)方法,重定向response对象的sendRedirect(“index.jsp”) ,实现从当前页面引导

6、到另一个页面。,课堂实训,实现学生信息系统后台管理员登录模块,学生信息浏览模块,学生信息查询,分页显示,问题分析限制非法用户登录,“ login_name”是存储在session中对应的保存成功登录者的帐号 如果没有在会话期内获取session中存储的用户名,则说明没有正确登录 登录失败,使用response对象的sendRedirect(URL url)重定向到index.jsp页面,信息查询实现,数据库设计 功能实现“main.jsp“ 设计查询页面 编程,程序分析,模糊查询用用SQL语句操作符like进行模式般配,使用“%”代替一个或多个字符,用一个下划线“_”代替一个字符,当查询值为字

7、符类型时,需要加“ ”,结果集Result的next()方法可以顺序查询,最初游标定位在第一行之前,当游标移动到最后一行后返回false,获取记录集,使用ResultSet对象的rs.getXxx()方法获取对应字段的数据,分页显示算法思想,原理解析: 假设总记录为m,每页显示数量是n,那么总页数的计算公式是: 如果m除以n的余数是n,总页数等于m除以n的商加1; 如果m除以n的余数等于0,总页数等于m除以n的商。 即:总的页数=(m%n)=0?(m/n)(m/n+1); 如果准备显示第p页的内容,应当把游标移动到第(p-1)*n+1条记录处。,预备知识游动查询,Statement state

8、ment=con.createStatement(int type,int concurrency); type的取值决定滚动方式,取值还可以是: TYPE_SCROLL_SENSITIVE 指针能够向前或向后自由移动,其他ResultSet对象变动指针时,会影响指针的位置; TYPE_SCROLL_INSENSITIVE 指针能够向前或向后自由移动,其他ResultSet对象变动指针时,不会影响指针的位置。 Concurrency取值决定是否可以用数据集更新数据库 CONCUR_READ_ONLY: 不能用结果集更新数据库中的表; CONCUR_UPDATEABLE: ResultSet对象

9、中的数据可以读也可以修改,不能用结果集更新数据库中的表;,程序分析,if (showPage1) % sql.executeUpdate(condition);,信息删除String condition=delete from Student where id= +id; sql.executeUpdate(condition);,信息修改 String condition=update student set number=+number+,+name=+name+,+sex=+sex+,+age=+age+,class=+classes+where id=+id; sql.executeU

10、pdate(condition);,课堂实训,新闻浏览 新闻分类 栏目管理 系统验证 新闻管理,综合实例在线投票系统,投票模块survey.jsp 计数模块vote.jsp 显示模块view.jsp,程序分析,投票率: height=8 % 得:票 共:票,ResultSet rs = sql.executeQuery(select * from vote); ,String rb = request.getParameter(type); String condition = Update vote Set numb=numb+1 where id= + rb; sql.executeUpdate(condition);,投票内容显示,投票信息更新,投票率用百分比和条形图显示,Math.floor():返回不大于参数的最大整数,课堂实训,管理员身份登录验证 管理页面 新增投票项目模块 删除投票项目模块 修改投票项目模块,总结与提高,数据库连接对动态网站来说是最为重要的部分,java

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论