书签 分享 收藏 举报 版权申诉 / 16

类型JSP实验报告使用JDBC实现数据库连接.docx

  • 文档编号:27441765
  • 上传时间:2023-07-01
  • 格式:DOCX
  • 页数:16
  • 大小:205.18KB

界面截图:

 

2.连接数据库进行用户合法性检查,用到文件,若用户存在,则跳转到留言界面,代码如下:

<%@pagelanguage="java"contentType="text/html;charset=gb2312"pageEncoding="UTF-8"%>

<%@pageimport="java.sql.*"%>

<%@pageimport="java.util.*"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

登录

--

-->

<%

//获取用户名

StringsUserName=request.getParameter("txtUserName");

//获取密码

StringsPasswd=request.getParameter("txtPassword");

//登记JDBC驱动程序

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

Stringurl="jdbc:

mysql:

//localhost/jsp-experiment";

//建立连接

Connectionconnection=DriverManager.getConnection(url,"root","123");

//SQL语句

Stringsql="select*fromstudentinfowhereStudentName='"+sUserName+"'andStudentNo='"+sPasswd+"'";

Statementstmt=connection.createStatement();

ResultSetrs=stmt.executeQuery(sql);

//返回查询结果,如果记录集非空,表明有匹配的用户名和密码,登陆成功

if(rs.next())

{

request.getSession().setAttribute("sessionname",sUserName);//用Session保存用户名

request.getSession().setAttribute("sessionpwd",sPasswd);//保存密码

response.sendRedirect("messageBoard.jsp");}

else//否则登录失败

{

out.println("用户名不存在或密码错误!

");

response.sendRedirect("userlogin.jsp");

}

rs.close();

stmt.close();

connection.close();

%>

3.进入到留言界面后,进行留言,用到文件,代码为:

<%@pagecontentType="text/html;charset=GB2312"%>

functionclear()

{

document.getElementById("messageContent").value="";

}

留言板

body{color:

#0033FF;}

登录成功

用户信息:


姓名:

<%=request.getSession().getAttribute("sessionname")%>

学号:

<%=request.getSession().getAttribute("sessionpwd")%>

请输入您的留言:



--//
-->


界面截图:

4.留言成功后,将显示留言的记录,用到文件,代码为:

<%@pagecontentType="text/html;charset=GB2312"%>

--首先导入一些必要的packages-->

<%@pageinfo="databasehandler"%>

<%@pageimport="java.io.*"%>

<%@pageimport="java.lang.*"%>

<%@pageimport="java.util.*"%>

--告诉编译器使用SQL包-->

<%@pageimport="java.sql.*"%>

database

<%

//获取用户名

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(""+col1+""+col2+""+col3+"");

}

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)

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
JSP 实验 报告 使用 JDBC 实现 数据库连接
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:JSP实验报告使用JDBC实现数据库连接.docx
链接地址:https://www.bdocx.com/doc/27441765.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开