public class FirstServlet extends HttpServlet { private static final long serialVersionUID = 1L;

private XML xml = new XML() ;

public FirstServlet() {
super();
}
public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//*************在数据库中取出数据****************//
ResultSet result = null ;
Connection con = null ;
Statement stmt = null ;


try {
xml.init() ;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
//*********建立数据库 名为flex*************//
String url = "jdbc:odbc:tests" ;
//**********换上你自己的用户名和密码信息************//
con = DriverManager.getConnection(url,"sa","123") ;
    stmt = con.createStatement() ;
    //**********里面建表名为USERS  具体SQL语句见附件下载**********//
    result = stmt.executeQuery("select * from users") ;
} catch(Exception e) {
e.printStackTrace() ;
}
        //重要:设置响应格式为XML格式
response.setContentType("text/xml") ;
response.setCharacterEncoding("UTF-8") ;
PrintWriter out = response.getWriter() ;
String[] strs = null;
try {
while(result.next()) {
strs = new String[3] ;
strs[0] = result.getString("name") ;
strs[1] = result.getString("pwd") ;
strs[2] = result.getString("school") ;
//*****创建XMLdocument*******//
xml.create(strs) ;
  }
result.close() ;
stmt.close() ;
con.close() ;
//*******写XML文件到客户端********//
xml.output(out) ;
} catch (Exception e) {
e.printStackTrace();
} }


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response) ;
}
}--------------------------------------------------------------------------------------------------------------------------
如上,这个例子中数据库操作,放在了servlet中,而我不想这样,我想把数据库操作单独拿出来,形成分层模式,看下面DAO层:public class SelectDAO {


public String[] selectInfo()
{
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstm = null;
String[] strs = new String[3] ;

try {

conn = DbUtil.getConn();

String sql = "select * from users";

pstm = conn.prepareStatement(sql);

rs = pstm.executeQuery();

while(rs.next())
{
strs[0] = rs.getString("name") ;
strs[1] = rs.getString("pwd") ;
strs[2] = rs.getString("school") ;
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
try {
rs.close();
pstm.close();
conn.close();
} catch (Exception e) {
// TODO: handle exception
}
}

for (String[] it:strs) {

System.out.println(it);

}

return strs;
}
}servlet:public class TwoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

private XML xml = new XML() ;

public TwoServlet() {
super();
}
public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

        //重要:设置响应格式为XML格式
response.setContentType("text/xml") ;
response.setCharacterEncoding("UTF-8") ;
PrintWriter out = response.getWriter() ;

try {

xml.init() ;//初始化

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String [] strs = new SelectDAO().selectInfo();


//*****创建XMLdocument********/
xml.create(strs); try {

xml.output(out) ;

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}}这个是我改进的,问题是只显示出数据库最后一条数据来大家有什么解决的办法,告诉小弟下,谢谢了。