可以写一个bean专门用来连接数据库,在网页中使用这个bean就可以了,bean中的driver,url可以写在.properties文件中,这样你要改的话只需要改.properties文件就可以了。我是这样做的,谁还有好办法?

解决方案 »

  1.   

    简单的小系统当然可以了,开发时间断,也不追求什么效能
    大的系统就不行了,给性能,开发,维护都带来麻烦了
    推荐mvc模式了
    访问数据库的写成javabean模型
    struts是个现成的框架
    直接哪来用就是了^_^
      

  2.   

    我已经采用了MVC框架,使用了struts。访问数据库的部分也有对应的javabean。
    但是在很多设计中,不提倡将sql暴露给view和controller的做法。按照这种模式还需要在访问数据库的javabean之上进行一次封装。例如:
    public class DAO{
      public List excuteSQL(String sql){
         
      }
    }public class StudentsManager{
     public List getStudentsByGrade(String grade)
     {
        return DAO.excuteSql("select * from student where grade='"+grade+"'");
     }
    }然后在controller对象中
    例如
    public class ViewStudentAction extend Action
    {
       public excute(...)
       {
          String grade=request.getParameter("grade");
          request.setAttribute("students",StudentsManager.getStudentsByGrade(grade));
        }
    }
    然后在页面上用标签取出request中的students的值。这种方式对于实现了前台对后台存储模式的透明操作。后台无论采用数据库还是其他存储对前台来说都可以屏蔽。但是显得非常繁琐,不如在前台直接的用sql取值。
      

  3.   

    既然实用了struts,就可以在他的Action部分调用相应的javabean来完成相对应的业务处理,包括数据存储。不要再Action中来完成业务操作。虽然麻烦一些,但这是mvc所提倡的,修改的时候会方便一些。这也是采用mvc的目的。不过在实际应用中,要看工程的规模,如果只有几个页面,怎么做都可以!!
      

  4.   

    一时快以后慢维护比较麻烦,WEB调试是比较烦得
      

  5.   

    所谓维护是什么?如果是改变数据模式:大型项目是绝对不被允许的。如果是改变界面:请注意如果界面需要额外的数据,不仅需要修改界面,controller也需要重写,甚至要写一个新的业务对象。如果是改变业务对象:由于在JSP页面用标签直接访问数据库只进行数据查询不涉及业务,业务对象的改变对其仍然是透明的。
      

  6.   

    一时快以后慢维护比较麻烦,WEB调试是比较烦得
    ===========================================
    jsp的调试比controller的调试容易,特别是用struts并布署在Weblogic等服务器(struts的Action无法脱离服务器调试,而Weblogic没一次重启都需要很长时间)。用jsp也可以是MVC的。不要忘了jsp就是servlet。jsp也可以做controller,当然不适合做业务对象。
      

  7.   

    昨天研究了valuelist和displaytag两个组件。
    发现这两个组件都是在jsp页面访问数据库。为什么这两个组件采用这种方式?
      

  8.   

    直接用标签访问数据库绝对是不合理的
    至少也要用标签访问DAO
      

  9.   

    如果你是用struts,我觉得对数据库的访问还是有一个比较合理的套路的
    可以将数据库连接类作为plugin来在服务器启动的时候加载,然后放在servletContext里面
    以后访问数据库的时候由Action访问业务代理,业务代理访问DAO,DAO直接与数据库接头Action---->Bussness Proxy------->DAO------>DataBase
      

  10.   

    研究了valuelist的代码,终了解了原理了。
      

  11.   

    出于安全性考虑,最好还是不要写在view层,我觉得还是struts好用,直接配置datasources就OK