《JSP中使用数据库》PPT课件.ppt_第1页
《JSP中使用数据库》PPT课件.ppt_第2页
《JSP中使用数据库》PPT课件.ppt_第3页
《JSP中使用数据库》PPT课件.ppt_第4页
《JSP中使用数据库》PPT课件.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

2019/6/10,1,Java Web开发技术,第6章 JSP中使用数据库,中国网页设计: ,2019/6/10,中国网页设计:,2,6.1 JDBC技术概述,JDBC是Java数据库连接(Java DataBase Connectivity)技术的简称 提供了访问数据库的API,它由一些Java类和接口组成。 JDBC操作不同的数据库仅仅是连接方式上的差异而已,一旦和数据库建立连接,就可以使用JDBC提供的API操作数据库,2019/6/10,中国网页设计:,3,使用JDBC进行如下操作:,与一个数据库建立连接。 向已连接的数据库发送SQL语句。 处理SQL语句返回的结果。,应用程序,jdbc,数据库,2019/6/10,中国网页设计:,4,JDBC的优点,可移植性强:不必为每一种数据库编写不同的调用程序 。,中国网页设计:/,2019/6/10,中国网页设计:,5,6.2.数据库连接的常用方式 :JDBC-ODBC桥接器,建立JDBC-ODBC桥接器:P127页图6.6 Class类的forName方法加载JdbcOdbcDriver try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException e) out.print(e); ,2019/6/10,中国网页设计:,6,创建ODBC数据源,打开控制面板-“管理工具”-“数据源(ODBC)” ,这时便会弹出“ODBC数据源管理器”对话框。 单击“ODBC数据源管理器”对话框上的“用户DSN”选项卡,2019/6/10,中国网页设计:,7,DSN区别,用户DSN:是只对建立它的用户可用。(把相应的配置信息保存在Windows的注册表中) 系统DSN :是建立一个系统级的DSN,允许所有登录服务器的用户使用(同上)。 文件DSN :把具体的配置信息保存在硬盘上的某个具体文件中。文件DSN的一个不足之处就是运行速度相对较慢,而且用户名和口令都是以明文方式保存在文件中,安全性较差。,2019/6/10,中国网页设计:,8,对本地数据库来说,通常要在User DSN(用户DSN)选项卡上创建一个项; 对远程数据库,则在System DSN(系统DSN)选项卡上创建。,2019/6/10,中国网页设计:,9,3、单击“添加”按钮,打开“创建新数据源”对话框 4、在对话框中选择SQL Server驱动程序,然后单击“完成”按钮,这时出现 “创建SQL Server的新数据源”对话框,输入新数据源的名称、描述和服务器local。 5、设置登录验证方式与密码 windowsNT验证 sql server验证,2019/6/10,中国网页设计:,10,6、选择数据库:更改默认数据库 7、测试数据源。,中国网页设计:/,2019/6/10,中国网页设计:,11,连接数据库,读取数据库信息,% try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException e) out.print(e); ,2019/6/10,中国网页设计:,12,try /创建数据源连接 Connection con =DriverManager.getConnection (“jdbc:odbc:employee“,“sa“,“2005“); /Statement 提供了执行语句和获取结果的基本方法 Statement sql=con.createStatement(); ResultSet rs=sql.executeQuery(“select * from employee_info “);,2019/6/10,中国网页设计:,13,out.print(“); out.print(“); out.print(“+“雇员号“); out.print(“+“姓名“); out.print(“+“出生日期“); out.print(“+“薪水“); out.print(“);,2019/6/10,中国网页设计:,14,while(rs.next() out.print(“); out.print(“+rs.getString(1)+“); out.print(“+rs.getString(2)+“); out.print(“+rs.getDate(“birthday“)+“); out.print(“+rs.getFloat(“salary“)+“); out.print(“) ; ,2019/6/10,中国网页设计:,15,out.print(“); con.close(); catch(SQLException e) out.print(e); %,2019/6/10,中国网页设计:,16,2. 使用纯Java数据库驱动程序,P131页 图6.14 Microsoft SQL Server 2005 JDBC 驱动程序下载/soft_show.asp?id=24 存放在WEB_INF/lib/sqljdbc.jar 加载SQLServer驱动程序代码如下: Class.forName(“com.microsoft.sqlserver. jdbc .SQLServerDriver“);,2019/6/10,中国网页设计:,17,连接数据库,% Connection con; Statement sql; ResultSet rs; try Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver“); catch(Exception e) out.print(e); ,2019/6/10,中国网页设计:,18,try String uri= “jdbc:sqlserver:/:1433;DatabaseName=employee“; String user=“sa“; String password=“2005“; con=DriverManager.getConnection(uri,user,password); sql=con.createStatement(); rs=sql.executeQuery(“select * from employee_info where salary3000“);,2019/6/10,中国网页设计:,19,out.print(“); out.print(“); out.print(“+“雇员号“); out.print(“+“姓名“); out.print(“+“出生日期“); out.print(“+“薪水“); out.print(“);,2019/6/10,中国网页设计:,20,while(rs.next() out.print(“); out.print(“+rs.getString(1)+“); out.print(“+rs.getString(2)+“); out.print(“+rs.getDate(“birthday“)+“); out.print(“+rs.getFloat(“salary“)+“); out.print(“) ; ,2019/6/10,中国网页设计:,21,out.print(“); con.close(); catch(SQLException e) out.print(e); %,2019/6/10,中国网页设计:,22,JSP制作登录页面,设计数据库employee,manager表,字段:user_id (主键,自增1,int类型),user_name, password 创建数据源:employee_dsn 制作登录页面login.jsp,2019/6/10,中国网页设计:,23,login.jsp, 用户名: 密码: ,2019/6/10,中国网页设计:,24,表单验证:, ,2019/6/10,中国网页设计:,25,/验证密码字段是否为空 password = document.form1.password.value; if (password = “) alert(“请输入登陆密码“); document.form1.password.focus(); return false; ,2019/6/10,中国网页设计:,26,登录验证页面:login_check.jsp, % String username=request.getParameter(“username“); String password=request.getParameter(“password“); Connection con; Statement sql; ResultSet rs; try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException e) out.print(e); ,2019/6/10,中国网页设计:,27,login_check.jsp,try con=DriverManager.getConnection(“jdbc:odbc:employee_dsn“,“sa“,“2005“); sql=con.createStatement(); rs=sql.executeQuery(“select * from manager where user_name=“+username+“ and password=“+password+“); if(rs.next() session.setAttribute(“login“,“true“); response.sendRedirect(“admin.jsp“); else %,2019/6/10,中国网页设计:,28,login_check.jsp,2019/6/10,中国网页设计:,29,后台管理页面:admin.jsp,2019/6/10,中国网页设计:,30,验证用户是否登录check.jsp,2019/6/10,中国网页设计:,31,后台管理页面:admin.jsp,% request.setCharacterEncoding(“gb2312“); String username=request.getParameter(“username“); String condition; if(username=null) username=“; if(username=“) condition=“select * from employee_info“; else /condition=“ select * from employee_info where employee_name=“+username+“; condition=“ select * from employee_info where employee_name like %“+username+“%“;,2019/6/10,中国网页设计:,32,后台管理页面:admin.jsp,Connection con; Statement sql; ResultSet rs; try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException e) out.print(e); ,2019/6/10,中国网页设计:,33,try con=DriverManager.getConnection(“jdbc:odbc:employee_dsn“,“sa“,“2005“); sql=con.createStatement(); rs=sql.executeQuery(condition); out.print(“); out.print(“); out.print(“+“雇员号“); out.print(“+“姓名“); out.print(“+“出生日期“); out.print(“+“薪水“); out.print(“编辑“); out.print(“删除“); out.print(“);,2019/6/10,中国网页设计:,34,while(rs.next() out.print(“); out.print(“+rs.getString(1)+“); out.print(“+rs.getString(2)+“); out.print(“+rs.getDate(“birthday“)+“); out.print(“+rs.getInt(“salary“)+“); out.print(“编辑“); out.print(“删除“);,2019/6/10,中国网页设计:,35,out.print(“) ; out.print(“); con.close(); catch(SQLException e) out.print(e); %,2019/6/10,中国网页设计:,36,员工信息添加页面 :add_employee.jsp,2019/6/10,中国网页设计:,37,员工信息添加处理页面:add_ok.jsp,%request.setCharacterEncoding(“gb2312“); String name=request.getParameter(“name“); String birthday=request.getParameter(“birthday“); String salary=request.getParameter(“salary“); Connection con; Statement sql;,2019/6/10,中国网页设计:,38,try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException e) out.print(e); try con=DriverManager.getConnection(“jdbc:odbc:employee_dsn“,“sa“,“2005“); sql=con.createStatement(); int m=sql.executeUpdate(“insert into employee_info (employee_name,birthday,salary) values(“+name+“,“+birthday+“,“+salary+“)“);,2019/6/10,中国网页设计:,39,if(m!=0) out.print(m+“条记录添加成功!“); elseout.print(“添加失败!“); con.close(); catch(SQLException e) out.print(e); %,2019/6/10,中国网页设计:,40,员工信息修改页面:modify.jsp,% String id=request.getParameter(“id“); String condition=“select * from employee_info where employee_num=“+id; Connection con; Statement sql; ResultSet rs; try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException e) out.print(e); ,2019/6/10,中国网页设计:,41,员工信息修改页面:modify.jsp,try con=DriverManager.getConnection(“jdbc:odbc:employee_dsn“,“sa“,“2005“); sql=con.createStatement(); rs=sql.executeQuery(condition); if(rs.next() %,2019/6/10,中国网页设计:,42,员工信息修改页面:modify.jsp,“ 员工姓名: 出生日期: 薪 水: ,2019/6/10,中国网页设计:,43,员工信息修改页面:modify_ok.jsp,%request.setCharacterEncoding(“gb2312“); String id=request.getParameter(“id“); String name=request.getParameter(“name“); String birthday=request.getParameter(“birthday“); String salary=request.getParameter(“salary“);,2019/6/1

温馨提示

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

评论

0/150

提交评论