在struts的模型组件里如何获取DataSource?
书上说Action侧重于逻辑验证和流程控制,决定用户请求的转发.对实际业务逻辑,如库中数据的增,删,改等操作应由另外的模型组件负责.但模型组件如何获取数据库连接呢?struts-config.xml中配置了数据源后在Action中可以用getDataSource()获取数据源,从而由DataSource.getConnect获取连接对数据操作.而自己定义的模型组件中是没有getDataSource()方法的,如何获取连接?当然用
Class.forName(driverName).newInstance();
connect = DriverManager.getConnection(connStr);
也可以获取数据库连接.事实上书上的例子里模型组件就是这么访问数据库的.但这样直接取connection就和Struts框架脱钩了吧,是不是就丢失了连接池的优越性?访问数据库都通过这种方式的话,struts-config.xml里的DataSource不是没有意义了?
不知道大家都是怎么处理的?当然在Action中先取DataSource,在构造模型组件或调用模型组件的方法的时候把DataSource当参数传进去应该是可以取到DataSource的,但这办法太笨了吧,所有模型组件都要加这参数.而且耦合度也高.书上说模型组件应该相对独立,不应访问Servlet API或Struts API中的类.
不好意思,刚学Struts搞不清楚结构,请知道的点拨一下