JSP+Servlet+javaBean:
1
.把
数据库驱动
放到
tomcat\common\lib
目录下
2
.在工程的
META-INF/
下建一个名为
context.xml
的配制文件:(
META-INF/context.xm
)内容如下:
<?xml version="1.0" encoding="GBK"?>
<Context>
<Resource name="jdbc/icss" type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1:1433;databaseName=icss"
username="icss" password="icss"/>
</Context>
3
.修改
web.xml
文件:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/icss</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth> //
操作者因为这种方式下的数据连接操作是由
tomcat
来管理的所似该
处填:
Container (
容器
)
注意第一个单词大写
</resource-ref>
4
.修改
DBUtil.java
代码:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public static Connection getConn() {
Connection conn = null;
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/icss");
conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
Struts
中的数据数源配制
1.
在工程中
引入
另外
3
个
jar
包:
commons-collections.jar
commons-dbcp-1.2.1.jar
commons-pool-1.1.jar
structs
中数据源的配制不需要将
sqljdbc.jar
放在
tomcat/common/lib
目录下而直截将它导入到工程下就可以了
2.
在
struts-config.xml
中配置:(
jdbc
的方式)
<data-source key="jdbc_db" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<set-property property="url" value="jdbc:sqlserver://127.0.0.1:1433;databaseName=master" />
<set-property property="username" value="sa" />
<set-property property="password" value="sa" />
</data-source>
在
struts-config.xml
中配置:(
odbc
的方式)
<data-sources>
<data-source key="sql" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="sun.jdbc.odbc.JdbcOdbcDriver" />
<set-property property="url" value="jdbc:odbc:dsn_master" />
<set-property property="username" value="sa" />
<set-property property="password" value="sa" />
</data-source>
</data-sources>
3.
在
action
中得到
ds
,然后
做为参数
传给
后面的方法:
import javax.servlet.ServletContext;
import javax.sql.DataSource;
ServletContext context= servlet.getServletContext();//servlet是Action的一个属性直截用就可以了
DataSource datasource=(DataSource)context.getAttribute("sql");
UserBean user = new UserBean(datasource); //在构造函数中获取连接
boolean flag = user.verifyUser(username, password); //此时的连接属于该对象,因为用成员方法保存了
所以该对象中所有方法均可用它。
实现类
构造方法
接收
ds
,然后
获得
conn
。
业务逻辑层处理的代码:
public
class
UserBizImpl
implements
UserBiz {
Connection
conn
=
null
;
public
UserBizImpl(
DataSource
ds){ //
在构造函数中获取连接
try
{
conn
=ds.getConnection();
System.
out
.println(
"ds jdbc
连接
数据库
成功
"
);
}
catch
(SQLException e) {
//
TODO
Auto-generated catch block
e.printStackTrace();
}
}
public
Boolean loginVerify(String username, String password) {
//
}
}
WebSphere 中的数据源配制
- 配置 连接驱动 , 在这里叫 :JDBC 提供程序(资源 ->jdbc-> )
(要布部署项目中不需要有
jdbc.jar
也可以)
在“实现类名”中输入:
com.microsoft.sqlserver.jdbc.SQLServerXADataSource
在“名称”中输入:
SQLSERVER2005_JDBC_Provider (//liu
:用默认的:
User-defined_JDBC_DRIVER_PATH)
在类路径中输入:
${SQLSERVER2005_JDBC_DRIVER_PATH}/sqljdbc.jar
(
//liu
:也可以直接写:
d:\test\sqljdbc.jar
)
2.
配置
数据库连接池
,
在这里叫
:
配置
数据源(资源
->jdbc->
)
2.1
配置
数据库
登录
帐号
,
密码
,
在这里叫
: J2C
认证别名
;
(新建
数据源
时
顺便创建,先不用输入“数据源名”等)
别名
可以自己进行设置,输入
能访问
SQLServer2005
数据库的
用户名称
和
密码,
J2C
认证别名
;
(另外一种创建方法:安全性
->
安全管理、应用程序和基础结构
-> Java
认证和授权服务
->- J2C
认证数据
>
)
2.2
继续
配置
数据源
输入:数据源名:
icss
,
输入:
jndi
名称:
jdbc/icss
选择“现有的
jdbc
提供程序”
资源—
jdbc
—数据源—
icss
—定制属性—
URL
和
databaseName2
个变量
URL=jdbc:sqlserver://127.0.0.1:1433
databaseName=
要连接的
db
名称
修改:用于
XA
恢复的认证别名
为
使用组件管理的认证别名(或者
指定
与
组件管理的认证别名
相同的别名。一个作用。)
这时
测试连接
可能还有问题
可以
“查看
jvm
日志”
- 重新启动 was
测试结束后,会提示测试成功,但有一个警告,表示连接池配置成功。
- 卸掉原来的程序,重新安装 应用程序
注意:指定“认证数据条目”,选择“目标资源
jndi
名称”
测试地址:
http://localhost:9080/car/car1html/carSaleList.html