可以写一个bean专门用来连接数据库,在网页中使用这个bean就可以了,bean中的driver,url可以写在.properties文件中,这样你要改的话只需要改.properties文件就可以了。我是这样做的,谁还有好办法?
解决方案 »
- 请教一个字符串的问题?
- 怎么向 jtextpane中插入 html代码
- 想开发一套java的即时聊天软件,希望有兴趣的朋友参与
- 好久没来拉,春节回家,散尽所有分!祝大家春节快乐! 散分帖2
- Reader/Writer 和input/output stream哪个更好?
- ◆菜鸟提问了!关于Servlet的一个很简单的问题。◆
- 想问一下Intellij IDEA编写控制台程序 要使用的图片放在那里才能被读取到啊
- 请教SQL SERVER的JDBC驱动问题,紧急!
- 请问在Jcreator中 怎么使用jdk的帮助文档,我选help->jdk help 无内容
- 在javamail 的 pop3中;如何显示有几封新邮件 ?
- 读j2sdk源码,请各位给点建议!
- 在程序中怎样重新加载类啊?
大的系统就不行了,给性能,开发,维护都带来麻烦了
推荐mvc模式了
访问数据库的写成javabean模型
struts是个现成的框架
直接哪来用就是了^_^
但是在很多设计中,不提倡将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取值。
===========================================
jsp的调试比controller的调试容易,特别是用struts并布署在Weblogic等服务器(struts的Action无法脱离服务器调试,而Weblogic没一次重启都需要很长时间)。用jsp也可以是MVC的。不要忘了jsp就是servlet。jsp也可以做controller,当然不适合做业务对象。
发现这两个组件都是在jsp页面访问数据库。为什么这两个组件采用这种方式?
至少也要用标签访问DAO
可以将数据库连接类作为plugin来在服务器启动的时候加载,然后放在servletContext里面
以后访问数据库的时候由Action访问业务代理,业务代理访问DAO,DAO直接与数据库接头Action---->Bussness Proxy------->DAO------>DataBase