如何在JSP中进行数据库连接

如何在JSP中进行数据库连接,第1张

很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等等 *** 作。Sun公司还开发了JDBC-ODBC bridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。下面介绍如何用Access实现一个动态FAQ(常见问题及答案)网站。首先建立一个Access数据库faqmdb,其中的表faqs有字段id(自动增量型,并设为主关键字)、subject(文字型,长度200)、answers(备注型)。这个表中可以存放一些编程知识的常见问题及答案, 然后,在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名faq,并指向faqmdb。 创建一个JavaBean,名为faqjava,并保存在jswdk-101webpagesWEB-INFjspeans est目录下。faqjava 的内容如下:

请问下是什么结构?用jdbc连接的话

public class DBUtil {

private static String user;

private static String password;

private static String url;

static{

Properties prop=new Properties();

try {

ClassLoader classLoader=DBUtilclassgetClassLoader();

InputStream is=classLoadergetResourceAsStream("dbproperties");

propload(is);

user=propgetProperty("user");

password=propgetProperty("password");

url=propgetProperty("url");

ClassforName("commysqljdbcDriver");

} catch (Exception e) {

eprintStackTrace();

throw new RuntimeException("找不到加载类");

}

}

public static Connection getConnection()throws Exception{

Connection conn=null;

conn=DriverManagergetConnection(url,user,password);

return conn;

}

public static void close(Connection conn){

if(conn!=null){

try {

connclose();

} catch (SQLException e) {

eprintStackTrace();

}

}

}

public static void main(String[] args)throws Exception {

Systemoutprintln(DBUtilgetConnection());

}

}

如果是用SSH架构的话,用hibernate里面去配置就OK了!

你这应该是一个用户注册程序吧。

首先确定一下你的程序逻辑:

当用户提交注册信息时首先使用CheckUser(userBean set)来判断要注册的用户是否已存在,如果不存在则接着调用Insert(userBean set )将用户注册信息保存到数据库中。如果你程序是按这个逻辑不处理的话自然的,这个程序会报如上错误。

原因:

当执行CheckUser(userBean set)后,程序会将数据库连接关闭,而当程序接着执行下面的Insert(userBean set )时,会因为之前奖数据库连接关闭而无法完成数据库 *** 作。

解决办法有二:

1、将CheckUser(userBean set)方法里的connclose(); 去掉;

2、你这里将获得连接资源的代码放在构造函数里,它只调用一次。因此你可以将数据连接代码使用一个新的方法来封装,每一个用到数据库连接的方法单独调用该方法。

如:

public Connection getConnection(){

try {

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");

} catch (ClassNotFoundException e) {

// TODO 自动生成 catch 块

eprintStackTrace();

}

try {

thisconn = DriverManager

getConnection(

"jdbc:microsoft:sqlserver://localhost:1433;databasename=Web_Test","sa","sa");

} catch (SQLException e) {

// TODO 自动生成 catch 块//

eprintStackTrace();

}

return thisconn

}

这样你在方法里可通过下面的方法获取连接。

conn = getConnection();

因此你的CheckUser(userBean set)可改成如下:

public boolean CheckUser(userBean set){

try {

conn = getConnection(); //这里是给你修改的

pstm = connprepareStatement("select userPWD from userInfo where userName= ");

pstmsetString(1,setgetUserName());

rs = pstmexecuteQuery();

if (rsnext()) {

if (rsgetString(1)equals(setgetUserPassword())){

return true;

}

}

connclose();

pstmclose();

rsclose();

} catch (SQLException e) {

// TODO 自动生成 catch 块

eprintStackTrace();

}

return false;

}

其它方法也是一样。

以上就是关于如何在JSP中进行数据库连接全部的内容,包括:如何在JSP中进行数据库连接、jsp系统怎么连接数据库、jsp数据库连接问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10130958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存