问题是...我想把这个DataSource JNDI资源放进appliction中让服务器启动的时候就加载进去,我用的是struts框架
这么做有什么问题吗?或者说...直接在action的execute方法中通过DataSource 对象的getConnection()方法创建一个Connectioin对象传递给持久层进行数据库连接和一系列的操作吗?
每次在Action中这么做似乎重复很多..各位大哥大姐有什么好办法介绍哈撒!你们应该有比较好的方法的啊就struts框架了,没用其他框架如Spring或者是Hibernate来做因为项目很小
这么做有什么问题吗?或者说...直接在action的execute方法中通过DataSource 对象的getConnection()方法创建一个Connectioin对象传递给持久层进行数据库连接和一系列的操作吗?
每次在Action中这么做似乎重复很多..各位大哥大姐有什么好办法介绍哈撒!你们应该有比较好的方法的啊就struts框架了,没用其他框架如Spring或者是Hibernate来做因为项目很小
解决方案 »
- SSH+JSP+flexpaper仿百度文库,急!
- 急!!!如何将页面中的list参数传递给后台?
- 火狐下的ajax问题
- 求助!!获取来源网址问题
- JSP 写入 ORACLE的BLOB字段 出现点特殊问题 等待解答!
- 利用业余时间做的小站 方便天下有缘人
- 如何对javabean进行克隆处理(超急在线等)
- Allaire jrun 与mecromedia jrun功能有不同吗
- (急)一个页面中include多个文件不能显示的问题?
- 我想用在jsp中用jconnect连接sybase!不是如何下手
- getRow()为什么一直是0呢(有代码大家帮我看看)
- 安装了tomcat5和mysql5我部署一个jsp程序时报错?请教什么原因.
你说的是这意思么?
那是数据持久层,这是各尽其责,系统的解耦合。
“每次在Action中这么做似乎重复很多..” 这样写,你的这个 action 类就是“上帝类”了,无所不能了
一旦上帝类除了问题,或者需要维护改动,系统就瘫痪了
我 是这么写的public abstract class _DBConnection {
private Connection conn = null;
private DataSource ds = null;
public Connection getConnection()throws SQLException{
if(ds==null){
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/test");
conn = ds.getConnection();
}catch(NamingException e){
throw new SQLException(e.getMessage());
}
}
return conn;
}
这么做行吗?我的意思是写这么个类专门负责数据库连接和关闭释放资源你说可以么?
楼主多领会领会 mvc 就明白了
大体思路:
页面展现 jsp
控制转发层:struts(这里就是 mvc 核心了)
业务处理层:被 struts 调用的专门负责业务处理
持久层:被业务处理层调用的专门和数据库打交道的一层
我仅仅就是在进行数据持久化的类中进行实例化使用这么做也不好吗?
我觉得还可以啊...没涉及到其他层面啊
适当的静态化,可以提高系统反应速度
数据源又不是工具类,它是一个 jndi,用不着静态化
能知道你的 QQ号吗?我还有些问日不大清楚
刚问到你的这问题..我更清楚MVC的意思了
我还想请教你以些问题,不知道你是否愿意听!
public static Connection getConnection()就没办法静态化了,因为编译会出错!
我说错了,应该是把这个持久层工具类的实例变量静态化,然后调用这个实例的 getConnection() 方法
包括rollback commit getConnection closeAll这四个方法
到时候调用页方便直接点..可是又出现一个问题
创建连接后我们的数据库操作都是由PreparedStatement类来完成的
创建这个类的实例进行数据库的增删改查操作后自己在方法中关闭它么?不关闭有什么影响吗?
我不知道问题在什么地方,运行tomcat好好的,页面显示页好好的
但是...一刷新就不行了,我不知道是不是封装的不够好,还是配置的问题!
我想你们也都应该会碰到连接池封装的问题啊,大哥大姐你们怎么解决的啊
我都折腾2天了这问题...我块疯了!