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的配置。
<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,在该类中封装了与数据库操作相关的业务逻辑。
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。
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架构中,根据需要也允许在配置文件中声明多个数据源,此时需要使用“key”属性为每一个数据源分配一个唯一的key值,标示特定数据源。
分享到:
- 2006-10-25 13:28
- 浏览 4311
- 评论(0)
- 论坛回复 / 浏览 (0 / 2774)
- 查看更多
相关推荐
通过以上步骤,我们成功地在Struts框架中配置了SQL Server数据源,并在Action类中获取了该数据源的连接。这种方法不仅使得数据库连接的管理更加灵活,还极大地降低了应用程序后期维护和升级的成本。对于那些需要频繁...
3. 在业务逻辑中使用:配置完成后,你可以在Struts的Action或DAO中通过JNDI查找获取数据源,然后创建连接进行数据库操作。例如: ```java Context context = new InitialContext(); DataSource dataSource = ...
3. **在Struts配置文件中使用数据源**:在Struts的配置文件(通常为`struts-config.xml`)中,通过Action的`setDataSource`方法或者自定义Plug-In来设置数据源。例如,你可以使用`org.apache.struts.action....
在Struts1中配置数据源是至关重要的,因为它确保了应用程序能够有效地连接到数据库并执行必要的操作,例如读取、写入或更新数据。在本篇文章中,我们将深入探讨如何在Struts1中配置数据源,并以插件的形式实现登录...
#### 二、Struts数据源连接的具体步骤 1. **创建数据源**:在`struts-config.xml`文件中定义数据源。 ```xml type="org.apache.commons.dbcp.BasicDataSource"> ;databaseName=testTemp"/> ``` 这里...
总结起来,配置Struts数据源的关键在于正确引入并配置数据库驱动、连接池库和Struts相关的类库,以及在应用的配置文件中正确设定数据源。这不仅可以提高应用程序的性能,还可以提高系统的稳定性和可维护性。
总之,"Struts数据源驱动,ssha配置缺少架包"的问题,需要从检查项目依赖、配置数据源、整合Struts、Spring和Hibernate等多个角度进行排查和解决。确保所有必需的库都已添加,并正确配置了相关的数据源和框架集成。...
开发者可以在应用服务器的配置文件中定义数据源,并将它绑定到一个全局名称,然后在Struts的Action或DAO层通过JNDI查找并获取数据源,从而建立到数据库的连接。 3. 配置连接池:在Struts应用中,配置连接池通常是在...
在基于Struts框架的应用程序设计与开发过程中,为了确保良好的架构分离性以及提高代码的复用性与可测试性,通常会在Web/表示层(Presentation Layer)与业务逻辑层(Business Logic Layer)之间引入Action类作为...
3. 在Struts配置文件中引用数据源:在`struts-config.xml`或`struts2.xml`(取决于你使用的Struts版本)中,设置Action的DataStore,使它能从数据源获取连接。 ```xml <action name="myAction" class=...
在`web.xml`或单独的配置文件中设置连接池参数,如数据源、最大连接数、最小连接数、超时时间等。以下是一个DBCP的示例配置: ```xml ``` 6. **MySQL配置**:在Struts2应用中,通常使用JDBC驱动...
在研究Struts2.3.4源代码时,你可以深入每个模块,了解其内部实现原理,比如Action的生命周期、拦截器链的执行过程、结果的渲染机制等。这将有助于提升你的Java Web开发技能,更好地理解和解决实际项目中遇到的问题...
总结,配置Struts中的Oracle数据源涉及到选择合适的JDBC驱动,理解DataSource接口,正确配置Struts和Web应用的XML配置文件,以及在Action类中使用数据源。如果项目使用Spring,可以利用其强大的数据源管理能力。确保...
注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息可以被编译器或者在运行时由Java虚拟机(JVM)解析。在Struts2中,注解被用来标注控制器类、方法以及它们的行为,简化了原本需要在`struts.xml`中...
4. **配置文件详解**:struts-config.xml和web.xml的配置要素,如Action映射、数据源设置等。 5. **控制器流程**:从HTTP请求到响应的整个处理流程,包括控制器如何分发请求,Action如何处理,以及视图如何展示。 ...
在Struts2.3.15.1版本中,我们可以利用Action拦截器和值栈,将当前需要的数据源上下文信息(如租户ID)传递到业务层。然后在Spring的配置中,根据这些信息决定路由到哪个数据源。例如,可以在拦截器中设置...
这个过程包括定义和配置多个DataSource bean,调整Hibernate和Struts2的配置以适应不同的数据源,以及在业务逻辑中适当地切换和使用这些数据源。正确配置后,SSH框架能够灵活地处理多数据库环境,提高应用的可扩展性...
7. **Struts2的配置机制**:包括XML配置和注解配置两种方式,使得开发者可以灵活地配置Action、Interceptor和Result。 8. **Plug-in(插件)**:Struts2提供了一套插件机制,可以扩展框架功能,如Spring插件支持...
在给定的"struts4个数据源包"中,我们看到四个重要的组件,它们是实现数据源管理的关键库。接下来,我们将深入探讨这些库的功能及其在Struts中的作用。 1. **commons-collections-3.1.jar**:这是Apache Commons ...
在Struts1的源代码中,`org`目录通常是框架的核心组件包,包含了许多关键类和接口。以下是一些重要的知识点: 1. **ActionServlet**:这是Struts1的主控制器,是Servlet的子类,负责处理HTTP请求并调用相应的Action...