请教______关于——mvc,jdo架构的应用,--jsp页面变量初始化--bean生命周期的问题!!!
谢大家先!
看一下封装的dao
------------------------
package ees.dbaccess;
import java.sql.*;
import java.util.*;
import java.io.*;
import pms.pmora;
public class GuidelineDAO{
private java.util.Collection con=null;
private pmora db=new pmora(); //ClassFor,建立连接
public java.util.Collection getGuidelinebyParent(java.math.BigDecimal parentid)
throws SQLException {
con=new ArrayList();
try {
String sql="select * from ees_guideline where parentid="+parentid;
ResultSet rs=db.executeQuery(sql);
while (rs.next()){
GuidelineVO v=new GuidelineVO();
int i=1;
v.setGuidelineid(rs.getBigDecimal(i++));
v.setGuidelinename(rs.getString(i++));
v.setParentid(rs.getBigDecimal(i++));
v.setNote(rs.getString(i++));
v.setLayer(rs.getBigDecimal(i++));
con.add(v);
}
} catch (Exception e) {
System.out.println("查询—指标体系出错— u"+e.getMessage());
}
return con;
}
public java.util.Collection getGidbyParent(java.math.BigDecimal parentid)
throws SQLException {
con=new ArrayList();
try {
String sql="select guidelineid from ees_guideline where parentid="+parentid;
ResultSet rs=db.executeQuery(sql);
while (rs.next()){
GuidelineVO v=new GuidelineVO();
int i=1;
v.setGuidelineid(rs.getBigDecimal(i++));
con.add(v);
}
} catch (Exception e) {
System.out.println("查询—指标id出错— u"+e.getMessage());
}
return con;
}
public void close(){
db.close();
}
}
-----------------------
这中方法,但是这样做相当于对定制的查询 返回 Collection。
其中,我把
pmora db=new pmora(); 设定为私有变量,这样,所有的 表操作(query,update)全部共享这个连接,直到这个页面中调用了 DAO.close();关闭他的连接
页面中通过
con1=guidedao.getGidbyParent(new java.math.BigDecimal(0));
for ( it1 = con1.iterator(); it1.hasNext(); )
{
vo1 = (GuidelineVO)it1.next();
guidelineid1=vo1.getGuidelineid();
}
-------------------------------------------------------------------
问题1。
但是,有一些操作,只是希望从2个表中联合取出其中的数据
比如
student (studentid,studentname)
teacher (teacherid,name,student,score)
我对于teacher 做了一个Collection
现在,我只希望从其中 取出 studentname 这样,我只有做一个 getNameById()的方法,,只按照id取出name(通过数据库查询)
这样做,反而使的页面很混乱,没有达到预期mvc的效果,并且代码不易读和 维护!
(我也使刚刚有DAO这样的概念,大家是怎么做呢??)
问题2。
--------------------------------------------------------------
<%!
%>
中定义的和 <jsp:usebean>定义的是不是都是全局变量呢?
这种的什么周期 是多久呢,,,
是不是一段时间之后,jvm也会进行垃圾回收呢????
大家怎么样的定义变量呢??才能够,占用最少的内存,做最多的事情呢??
问题3
------------------------------------------------------------------
我知道bean有 4种scope
request,page,session, application
这些书上说的在 不同的情况 应用不同的
但是,
有没有时间的例子呢,
能然 清楚的理解呢???