界面截图:
4.留言成功后,将显示留言的记录,用到文件,代码为:
<%@pagecontentType="text/html;charset=GB2312"%>
--首先导入一些必要的packages-->
<%@pageinfo="databasehandler"%>
<%@pageimport="java.io.*"%>
<%@pageimport="java.lang.*"%>
<%@pageimport="java.util.*"%>
--告诉编译器使用SQL包-->
<%@pageimport="java.sql.*"%>
<%
//获取用户名
StringsUserName=(String)request.getSession().getAttribute("sessionname");
//获取密码
StringsPasswd=(String)request.getSession().getAttribute("sessionpwd");
//获取留言
Stringmessage=request.getParameter("messageContent");
Stringurl="jdbc:
mysql:
//localhost/jsp-experiment";
Stringuser="root";//这里替换成你自已的数据库用户名
Stringpassword="123";//这里替换成你自已的数据库用户密码
//StringsqlStr="select*frommessagewhereStudentNo='2010081126'";
//StringsqlStr="select*fromstudentinfo";
Stringsql="insertintomessage(StudentNo,MessageTime,Message)values('"+sPasswd+"',Now(),'"+message+"')";
StringsqlStr="select*frommessagewhereStudentNo='"+sPasswd+"'";
try
{//这里的异常处理语句是必需的.否则不能通过编译!
Class.forName("com.mysql.jdbc.Driver");
//out.println("com.mysql.jdbc.Driver类实例化成功!
");
//Connectioncon=DriverManager.getConnection(url);
Connectioncon=DriverManager.getConnection(url,user,password);
Statementst=con.createStatement();
st.execute(sql);
ResultSetrs=st.executeQuery(sqlStr);
out.println("添加留言成功!
");
out.println("
");
out.println("您的留言记录为:
");
out.println("
");
out.println("
//out.println("
while(rs.next())
{
Stringcol1=rs.getString("StudentNo");
Stringcol2=rs.getString("MessageTime");
Stringcol3=rs.getString("Message");
//打印所显示的数据
out.println("
}
out.println("");
rs.close();
st.close();
con.close();
}
catch(Exceptionerr)
{
err.printStackTrace();
out.print("");
out.println("connectingtothedatabaseiserror");
}
%>
界面截图:
提交后:
(以下为理论知识题)
8、JDBC的全称是什么,在JAVA的哪个包下?
答:
全称为JavaDataBaseConnectivity,java数据库连接,在里。
9、JDBC连接数据库用到的类有哪些?
答:
1.Class//指定数据库驱动程序
2.DriverManager//驱动程序管理
3.Connection//数据库连接
10、比较JDBC数据库连接的JDBC-ODBC桥及PureJavaDriver
方式的优缺点
答;
(1)JDBC-ODBCBridgeplusODBCDriver
优点:
可以沿用旧系统的设置
缺点:
设置ODBC连接繁琐,在JDBC与ODBC中数据传递及转换上需要一定的时间
(2)PureJavaDriverforDatabaseMiddleware
优点:
不用在用户端做任何的设置或安装一些函数库,只需连接中间层服务器
缺点:
连接受中间层服务器影响
11、Statement与PreparedStatement的作用与区别?
写一个程序实例如何用PreparedStatement实现批处理?
(将100条记录插入预先设定好的数据库中)
答:
1.PreparedStatement是预编译的,对于批量处理可以大大提高效率.也叫JDBC存储过程;
2.使用Statement对象。
在对数据库只执行一次性存取的时侯,用Statement对象进行处理。
PreparedStatement对象的开销比Statement大,对于一次性操作并不会带来额外的好处;
3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得,preparedstatement支持批处理。
程序实例:
Publicvoidexec3(Connectionconn){
try{
conn.setAutoCommit(false);
LongbeginTime=System.currentTimeMillis();
ment("insertintot1(id)values(?
)");
for(inti=1;i<=100;i++){
pst.setInt(1,i);
pst.addBatch();
if(i%50==0){
pst.executeBatch();
connmit();
pst.clearBatch();
}
}
pst.executeBatch();
LongendTime=System.currentTimeMillis();
System.out.println("pst+batch用时:
"+(endTime-beginTime)+"毫秒");
pst.close();
conn.close();
}
catch(SQLExceptione)
{
e.printStackTrace();
}
}
12、Statement接口提供了三种执行SQL语句的方法,它们分别是什么?
答:
查询方法:
executeQuery;更新方法:
executeUpdate;执行方法:
execute
[实验体会]
请在下方写出你对本实验的看法,例如你认为实验难度如何?
你能够独立实验吗?
如果不能,你认为原因是什么?
1、实验难度:
难()中等(√)容易()
2、能否按指定要求,在指定时间内完成所有实验?
能(能)否()
如果不能,不能完成实验有
(作业提交说明:
实验完成后,将此文档和相关的JSP文件一并压缩后提交上来,文件名为自己的学号+实验几,如2002000001+实验几.RAR)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1