Struts数据源配置过程(不在Action里连接)
JDBC数据源(Data Source)的使用,简化了数据库的连接过程.
Struts中使用JDBC 2.0标准扩展包中的javax.sql.DataSource接口来实现数据源的。
扩展包是jdbc2_0-stdext.jar。,在jdk1.4后版本包含此扩展包。
例如下面的例子。数据库名“classuser”,表:“classuser”。
在Struts配置文件“struts-config.xml中”配置Struts数据源,这些数据源由ActionServlet负责管理。
以下代码是Struts-config.xml的配置。 Java代码
<struts-config>
<data-sources>
<data-source key="oracleDB1" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<set-property property="url"
value="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=classuser;" />
<set-property property="maxActive"
value="5"/>
<set-property property="username"
value="sa"/>
<set-property property="password"
value=""/>
<set-property property="autoCommit"
value="true"/>
</data-source>
</data-sources>
定义模型类DBUser,在该类中封装了与数据库操作相关的业务逻辑。
Java代码
package classmate;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUser {
DataSource dataSource;
public DBUser(DataSource dataSource) {
this.dataSource = dataSource;
}
public boolean checkUser(String name,String psw) throws Exception{
Connection connect = null;
String strSql;
ResultSet rs;
boolean result=false;
strSql = "select * from classuser where username='"
+ name + "' and password='" + psw + "'";
try {
connect = dataSource.getConnection();
Statement stmt = connect.createStatement();
rs = stmt.executeQuery(strSql);
if ( rs.next()) {
result=true;
}
}
catch(SQLException ex) {
ex.printStackTrace();
}
finally{
if(connect!=null)
connect.close();
}
return result;
}
}
改造Action Bean类LoginAction,在其中使用前面配置的数据源oracleDB1。
Java代码
ServletContext context = servlet.getServletContext();
DataSource dataSource = (DataSource)context.getAttribute("oracleDB1");
DBUser dbuser = new DBUser(dataSource);
HttpSession session = request.getSession();
if (!dbuser.checkUser(name,psw)) {
ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("label.deny"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
return mapping.findForward("failed"); //登陆失败
}
else{
return (mapping.findForward("successed"));//登陆成功
}
}
分享到:
相关推荐
Struts配置数据源及分页的JAR,有些时候你需要的时候不一定找得到,放在这里,共享
NULL 博文链接:https://sxpujs.iteye.com/blog/365774
Struts开发中常用的数据源配置
commons-collections.jar commons-dbcp-1.2.1.jar commons-pool-1.2.jar
struts框架中数据源的配置
本人上网找上许多久才找到,希望对你有用
Struts1中配置数据源实现的登陆以插件的形式..
struts数据源配置 直接看图学习,快速学会配置步骤
NULL 博文链接:https://leiwuluan.iteye.com/blog/391506
配置struts数据源用到的几个jar,希望对大家有用!
在linux下配置Struts中的Oracle 数据源 谢谢您的下载,希望对你有用
在struts中配置数据源的四个包 classes12.jar commons-dbcp-1.1.jar commons-pool-1.1.jar struts-legacy.jar
javaWeb项目数据连接的3中方法: 1、在tomcat下配置数据源。 2、在struts-config.xml下配置数据源 3、jdbc驱动连接
Struts数据源驱动, ssha配置缺少架包
commons-dbcp-1.2.1.jar commons-pool-1.3.jar struts-legacy.jar struts配置数据源时需要用到的三个.jar文件,都是struts包没有自动包括的
Struts配置文件简介 13 有关Struts Controller及其相关的的配置描述 13 有关struts tag lib的配置描述 14 有关Struts Action Mapping的配置描述 14 Form-bean元素 15 Action元素 15 Struts高级特性(Struts ...
NULL 博文链接:https://star77266989.iteye.com/blog/2154164
Spring多数据源配置_分布式数据 Tomcat服务器下的多数据源配置详情 一、环境及框架 Tomcat+spring+hibernate+jotm,还有就是struts、Oracle等 二、需求说明 系统里有2套不同网域的oracle数据库,之间的数据需要进行...
Struts配置文件简介 13 有关Struts Controller及其相关的的配置描述 13 有关struts tag lib的配置描述 14 有关Struts Action Mapping的配置描述 14 Form-bean元素 15 Action元素 15 Struts高级特性(Struts Advanced...
最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1...注:以下包为数据源连接池 相关 用到那个添加相应的包 c3p0-0.9.1.2.jar //3 commons-pool.jar //3 commons-dbcp.jar //3