JSP实验报告-使用JDBC实现数据库连接_第1页
JSP实验报告-使用JDBC实现数据库连接_第2页
JSP实验报告-使用JDBC实现数据库连接_第3页
JSP实验报告-使用JDBC实现数据库连接_第4页
JSP实验报告-使用JDBC实现数据库连接_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、广州中医药大学医学信息工程学院实 验 报 告课程名称:网络数据库编程专业班级:计算机科学与技术(2010)级学生学号:2010081126学生姓名:吕吕实验名称:实验成绩:课程类别:必修 限选þ 公选 其它实验三 使用JDBC实现数据库连接实验类型:应用性实验 实验日期: 2013.03.20 实验目的要求通过教学,使学生掌握使用JDBC连接到数据库的方法(如通过JDBC-ODBC桥或Pure Java Driver),能使用网页表单实现网页与数据库的交互。实验内容及步骤1、 在数据库SQL SERVER中创建一个数据库JDBCTEST,并创建表student_info,并设定字段,

2、输入内容。2、 使用JDBC-ODBC实现数据库连接a) 打开“控制面板”的“管理工具” 的“数据源 (ODBC)”b) 建立数据源c) 选“系统数据源”,连接SQL SERVER数据库d) 测试是否连接成功e) 通过以下类Class、DriverManager、Connection(连接数据库用到的类),及Statement、ResultSet(访问数据库用到的类)编写代码实现表student_info数据的查询。f) 查询结果在页面中显示。3、 使用Pure Java Driver实现数据库连接(本题可以做可以不做)a) 安装sql-jdbc,如装在D盘b) 设置环境变量classpath

3、,添加D:sqljdbcmsbase.jar; D:sqljdbcmsutil.jar; D:sqljdbcmssqlserver.jar;c) 设SQL SERVER数据库用Windows和数据库混合身分验证的方式。d) 通过以下类Class、DriverManager、Connection(连接数据库用到的类),及Statement、ResultSet(访问数据库用到的类)编写代码实现表student_info数据的查询。e) 查询结果在页面中显示。4、 通过表单传递数据,实现数据库的插入、删除与更新操作,并显示插入结果。5、 熟悉JSP中各种常用的内建对象如request对象、sessi

4、on对象、application对象的使用。6、 熟悉各种表单的处理的方法:如选择按钮的使用、多选方块的使用、群组检查的使用、隐藏栏位的使用、在客户端进行数据检查7、 试利用上述知识实现一个留言板系统。以下需要同学们贴上第7题经调试好代码:数据库对应的表1答:本人在MySql数据库中建立了数据库jsp-experiment,再建立两个表,一为表studentinfo,存放学生的基本信息,另一个表为message,用来存放学生的留言记录,截图如下:数据库:jsp-experiment表studentinfo:表message:留言板实现步骤和代码:1.用户登录用到userlogin.jsp文件,

5、代码为:<%page contentType="text/html" pageEncoding="UTF-8"%><html><head><title>登录</title><meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta http-equiv="Content-Language" content="ch-cn&qu

6、ot;></head><body><!- Form 用来提取用户填入并提交的信息-><form method="post" name="frmLogin" action="verifylogin.jsp"><h1 align="center">用户登录</h1><br><div align="center">用户名: <input type="text" name=&q

7、uot;txtUserName"><br><br>密 码: <input type="password" name="txtPassword"><br><br><!-<input type="submit" name="Submit"value="提交">-> <input type="submit" name="submit" value="

8、;登录"><input type="reset" name="Reset" value="重置"><br></div></form></body></html>界面截图:2.连接数据库进行用户合法性检查,用到verifylogin.jsp文件,若用户存在,则跳转到留言界面,代码如下:<% page language="java" contentType="text/html;charset=gb2312"

9、; pageEncoding="UTF-8"%><% page import="java.sql.*"%><% page import="java.util.*"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html><head><title>登录</title><meta http-equiv="pragma" cont

10、ent="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description&

11、quot; content="This is my page"><!-<link rel="stylesheet" type="text/css" href="styles.css">-></head><body><div align=center><% /获取用户名 String sUserName = request.getParameter("txtUserName"); /获取密码 String sPasswd =

12、request.getParameter ( "txtPassword" ); /登记JDBC驱动程序 Class.forName ( "org.gjt.mm.mysql.Driver" ).newInstance ( ); String url = "jdbc:mysql:/localhost/jsp-experiment" /建立连接 Connection connection = DriverManager.getConnection ( url, "root","123" ); /SQL

13、语句 String sql = "select * from studentinfo where StudentName='" + sUserName + "' and StudentNo = '" + sPasswd + "'" Statement stmt = connection.createStatement ( ); ResultSet rs = stmt.executeQuery ( sql ); /返回查询结果,如果记录集非空,表明有匹配的用户名和密码,登陆成功 if ( rs.next

14、( ) ) request.getSession().setAttribute("sessionname",sUserName); /用Session保存用户名 request.getSession().setAttribute("sessionpwd",sPasswd); /保存密码 response.sendRedirect("messageBoard.jsp"); else /否则登录失败 out.println ( "用户名不存在或密码错误!" ); response.sendRedirect("

15、userlogin.jsp"); rs.close ( ); stmt.close ( ); connection.close ( ); %></div></body></html>3.进入到留言界面后,进行留言,用到messageBoard.jsp文件,代码为:<% page contentType="text/html;charset=GB2312" %><script type="text/javascript" language="jscript">f

16、unction clear() document.getElementById("messageContent").value="" </script><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><title>留言板</title></head><style type="text/css"&g

17、t;body color: #0033FF;</style><body><form method="post" name="messageform" action="insertMessage1.jsp"><div align="center"><h1 align="center">登录成功</h1><br><font size="5" color="#0033FF"

18、>用户信息:</font><br>姓名: <%=request.getSession().getAttribute("sessionname")%><br>学号:<%=request.getSession().getAttribute("sessionpwd")%><br><br>请输入您的留言:<input type="text" name="messageContent"><br><br>

19、;<input type="submit" name="Submit" value="提交"><!-/<input type="button" name="Reset" value="重置" onclick="clear()"><br>-><input type="reset" name="Reset" value="重置"><br

20、></div></form></body></html>界面截图:4.留言成功后,将显示留言的记录,用到insertMessage1.jsp文件,代码为:<% page contentType="text/html;charset=GB2312"%><!-首先导入一些必要的packages-><% page info="database handler"%><% page import="java.io.*"%><% page

21、import="java.lang.*"%><% page import="java.util.*"%><!-告诉编译器使用SQL包-> <% page import="java.sql.*"%><html><head><title>database</title><body><div align=center><% /获取用户名 String sUserName =(String)request.getSessio

22、n().getAttribute("sessionname"); /获取密码 String sPasswd =(String)request.getSession().getAttribute("sessionpwd"); /获取留言 String message= request.getParameter ("messageContent"); String url="jdbc:mysql:/localhost/jsp-experiment" String user ="root"/这里替换成

23、你自已的数据库用户名 String password = "123"/这里替换成你自已的数据库用户密码 /String sqlStr = "select * from message where StudentNo='2010081126'" /String sqlStr = "select * from studentinfo" String sql = "insert into message(StudentNo,MessageTime,Message) values ('"+sPass

24、wd+"',Now(),'"+message+"')" String sqlStr="select * from message where StudentNo='"+sPasswd+"'" try /这里的异常处理语句是必需的.否则不能通过编译! Class.forName("com.mysql.jdbc.Driver"); /out.println("com.mysql.jdbc.Driver类实例化成功!" ); /Connect

25、ion con = DriverManager.getConnection(url); Connection con = DriverManager.getConnection(url,user,password); Statement st = con.createStatement(); st.execute(sql); ResultSet rs = st.executeQuery(sqlStr); out.println("添加留言成功!"); out.println("<br>"); out.println("您的留言记录为

26、:"); out.println("<br>"); out.println("<table border=1 width=600>"); /out.println("<tr><td>"学号"</td><td>"留言时间"</td><td>"留言内容"</td></tr>"); while (rs.next() String col1 = rs.ge

27、tString("StudentNo"); String col2 = rs.getString("MessageTime"); String col3= rs.getString("Message"); /打印所显示的数据 out.println("<tr><td>"+col1+"</td><td>"+col2+"</td><td>"+col3+"</td></tr>&

28、quot;); out.println("</table>"); rs.close(); st.close(); con.close(); catch(Exception err) err.printStackTrace(); out.print("</br></br></br>"); out.println("connecting to the database is error"); %></div></body></html>界面截图:提交

29、后:(以下为理论知识题)8、 JDBC的全称是什么,在JAVA的哪个包下?答:全称为Java Data Base Connectivity,java数据库连接,在java.sql里。9、JDBC连接数据库用到的类有哪些?答: 1. Class/指定数据库驱动程序2. DriverManager/驱动程序管理3. Connection/数据库连接10、比较JDBC数据库连接的JDBC-ODBC桥及Pure Java Driver方式的优缺点答;(1)JDBC-ODBC Bridge plus ODBC Driver优点:可以沿用旧系统的设置缺点:设置ODBC连接繁琐,在JDBC与ODBC中数据传递及转换上需要一定的时间(2)Pure Java Driver for Database Middleware优点:不用在用户端做任何的设置或安装一些函数库,只需连接中间层服务器缺点:连接受中间层服务器影响11、Statement与PreparedStatement的作用与区别?写一个程序实例如何用PreparedStatement实现批处理? (将100条记录插入预先设定好的数据库中)答:1. PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程;2. 使用 Statement 对象。在对数据库只

温馨提示

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

最新文档

评论

0/150

提交评论