今天突然心血来潮,想起去配置个Struts数据源,以前配置过,没有成功。今天配置了没多久就成功了,可以是自己领悟高了点了吧。
现在开始.......................................
第一步:将apache的commons-dbcp.jar,commons-pool.jar,commons-collections.jar导入/WEB-INF/lib中。
第二步:在struts-config.xml配置数据源DataSource。代码如下:
<
data-sources
>
<
data-source
key
="dataSource"
type
="org.apache.commons.dbcp.BasicDataSource"
>
<
set-property
property
="username"
value
="root"
/>
<
set-property
property
="password"
value
="root123"
/>
<
set-property
property
="driverClassName"
value
="com.mysql.jdbc.Driver"
/>
<
set-property
property
="url"
value
="jdbc:mysql://localhost:3306/ssh"
/>
</
data-source
>
</
data-sources
>
第三步:在Action的execute方法中用getDataSource方法,得到DataSource对象。代码如下:
public
ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
...
{
// TODO Auto-generated method stub
//获取登陆用户名和密码
LoginForm loginform = (LoginForm)form;
String username = loginform.getUsername();
String password = loginform.getPassword();
System.out.println("--------------"+username+"-------------");
System.out.println("--------------"+password+"-------------");
//与数据库进行较验
DataSource ds = this.getDataSource(request, "dataSource");
boolean result = false;
try ...{
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from loginuser where username='"+username+"' and password='"+password+"'");
if(rs.next()) ...{
result = true;
} else ...{
result = false;
}
rs.close();
stmt.close();
conn.close();
//跳转页面
if(result) ...{
return mapping.findForward("welcome");
} else ...{
return mapping.getInputForward();
}
} catch (SQLException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
第四步:创建数据库ssh,及表login。完成...........................工程代码如下:
DataSource工程源码
本文详细介绍如何在Struts项目中配置数据源,包括所需jar包的导入、struts-config.xml文件中的数据源配置、Action类中数据源的使用及数据库验证流程。
737

被折叠的 条评论
为什么被折叠?



