`
wenson
  • 浏览: 1051961 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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的配置。
<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值,标示特定数据源。
 

分享到:
评论

相关推荐

    struts框架中数据源的配置

    通过以上步骤,我们成功地在Struts框架中配置了SQL Server数据源,并在Action类中获取了该数据源的连接。这种方法不仅使得数据库连接的管理更加灵活,还极大地降低了应用程序后期维护和升级的成本。对于那些需要频繁...

    在struts-config.xml中配置数据源

    3. 在业务逻辑中使用:配置完成后,你可以在Struts的Action或DAO中通过JNDI查找获取数据源,然后创建连接进行数据库操作。例如: ```java Context context = new InitialContext(); DataSource dataSource = ...

    struts配置数据源的问题

    3. **在Struts配置文件中使用数据源**:在Struts的配置文件(通常为`struts-config.xml`)中,通过Action的`setDataSource`方法或者自定义Plug-In来设置数据源。例如,你可以使用`org.apache.struts.action....

    Struts1中配置数据源

    在Struts1中配置数据源是至关重要的,因为它确保了应用程序能够有效地连接到数据库并执行必要的操作,例如读取、写入或更新数据。在本篇文章中,我们将深入探讨如何在Struts1中配置数据源,并以插件的形式实现登录...

    Struts数据源连接和国际化

    #### 二、Struts数据源连接的具体步骤 1. **创建数据源**:在`struts-config.xml`文件中定义数据源。 ```xml type="org.apache.commons.dbcp.BasicDataSource"&gt; ;databaseName=testTemp"/&gt; ``` 这里...

    配置struts数据源的四个包

    总结起来,配置Struts数据源的关键在于正确引入并配置数据库驱动、连接池库和Struts相关的类库,以及在应用的配置文件中正确设定数据源。这不仅可以提高应用程序的性能,还可以提高系统的稳定性和可维护性。

    Struts数据源驱动,ssha配置缺少架包

    总之,"Struts数据源驱动,ssha配置缺少架包"的问题,需要从检查项目依赖、配置数据源、整合Struts、Spring和Hibernate等多个角度进行排查和解决。确保所有必需的库都已添加,并正确配置了相关的数据源和框架集成。...

    struts资料\第三章(连接池与数据源)

    开发者可以在应用服务器的配置文件中定义数据源,并将它绑定到一个全局名称,然后在Struts的Action或DAO层通过JNDI查找并获取数据源,从而建立到数据库的连接。 3. 配置连接池:在Struts应用中,配置连接池通常是在...

    Struts配置数据库连接池

    在基于Struts框架的应用程序设计与开发过程中,为了确保良好的架构分离性以及提高代码的复用性与可测试性,通常会在Web/表示层(Presentation Layer)与业务逻辑层(Business Logic Layer)之间引入Action类作为...

    Struts配置数据源及分页的JAR

    3. 在Struts配置文件中引用数据源:在`struts-config.xml`或`struts2.xml`(取决于你使用的Struts版本)中,设置Action的DataStore,使它能从数据源获取连接。 ```xml &lt;action name="myAction" class=...

    struts配置的文件 连接池 mysql等配置文件

    在`web.xml`或单独的配置文件中设置连接池参数,如数据源、最大连接数、最小连接数、超时时间等。以下是一个DBCP的示例配置: ```xml ``` 6. **MySQL配置**:在Struts2应用中,通常使用JDBC驱动...

    struts2.3.4源代码

    在研究Struts2.3.4源代码时,你可以深入每个模块,了解其内部实现原理,比如Action的生命周期、拦截器链的执行过程、结果的渲染机制等。这将有助于提升你的Java Web开发技能,更好地理解和解决实际项目中遇到的问题...

    struts配置数据源三个包,oracle驱动包包

    总结,配置Struts中的Oracle数据源涉及到选择合适的JDBC驱动,理解DataSource接口,正确配置Struts和Web应用的XML配置文件,以及在Action类中使用数据源。如果项目使用Spring,可以利用其强大的数据源管理能力。确保...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息可以被编译器或者在运行时由Java虚拟机(JVM)解析。在Struts2中,注解被用来标注控制器类、方法以及它们的行为,简化了原本需要在`struts.xml`中...

    张孝祥Struts视频源代码

    4. **配置文件详解**:struts-config.xml和web.xml的配置要素,如Action映射、数据源设置等。 5. **控制器流程**:从HTTP请求到响应的整个处理流程,包括控制器如何分发请求,Action如何处理,以及视图如何展示。 ...

    spring 3.29+struts2.3.15.1+hibernate3 动态切换数据源

    在Struts2.3.15.1版本中,我们可以利用Action拦截器和值栈,将当前需要的数据源上下文信息(如租户ID)传递到业务层。然后在Spring的配置中,根据这些信息决定路由到哪个数据源。例如,可以在拦截器中设置...

    SSH配置多个数据源

    这个过程包括定义和配置多个DataSource bean,调整Hibernate和Struts2的配置以适应不同的数据源,以及在业务逻辑中适当地切换和使用这些数据源。正确配置后,SSH框架能够灵活地处理多数据库环境,提高应用的可扩展性...

    struts2.0.11源代码

    7. **Struts2的配置机制**:包括XML配置和注解配置两种方式,使得开发者可以灵活地配置Action、Interceptor和Result。 8. **Plug-in(插件)**:Struts2提供了一套插件机制,可以扩展框架功能,如Spring插件支持...

    struts4个数据源包

    在给定的"struts4个数据源包"中,我们看到四个重要的组件,它们是实现数据源管理的关键库。接下来,我们将深入探讨这些库的功能及其在Struts中的作用。 1. **commons-collections-3.1.jar**:这是Apache Commons ...

    struts1源代码

    在Struts1的源代码中,`org`目录通常是框架的核心组件包,包含了许多关键类和接口。以下是一些重要的知识点: 1. **ActionServlet**:这是Struts1的主控制器,是Servlet的子类,负责处理HTTP请求并调用相应的Action...

Global site tag (gtag.js) - Google Analytics