日期:2014-05-20  浏览次数:20663 次

(JAVA/servlet)新手求助:我要返回数据库中的数据怎么实现?
我的代码好像显示不了啊.
我在管理员页面里面有个按钮"显示所有用户信息"
就是管理员点击了那个按钮能显示数据库中的表里的信息,能以表格显示最好,不用表格,只要能显示到页面就好..
有什么方法吗?

[code=JSP] <body>
    <form action="servlet/ListUser">
    <table> <tr> <td> <input type="submit" name="ListTable" value="显示所有用户信息"> </td> </tr> </table> </form>
  </body>[/code]



下面的是servlet
ListUser.java
Java code
public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        DBConn conn = new DBConn();
        conn.getConn();
        conn.ListUser();
        conn.closeConn();
        
    }code]


DBConn.java
[code=Java]public void ListUser() {

        try {

            stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select * from users");
            while (rs!=null && rs.next()) {
                System.out.print("<tr><td>姓名=" + rs.getString("userName")
                        + "</td>");
                System.out.print("<td>密码=" + rs.getString("userPwd")
                        + "</td></tr>");
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }






------解决方案--------------------
你代码里面使用的System.out.print是在控制台打的, 

你要渲染页面你使用HttpServletResponse 获取到Writer/或输出流 去打这些TR TD的。如果你保证你的代码能拿出用户信息, 应该没问题
------解决方案--------------------
[code=HTML][/code]你这个处理肯定是有问题的。
1.首先DBConn.java类中的public void ListUser()返回值是空,应该返回一个list才对
修改如下:
Java code

public List ListUser() {

        try {
            List<Users> list=new ArrayList<List>();
            Users user=null;
            stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select * from users");
            while (rs.next()) {
            user=new Users();
            user.setName(rs.getString("name"));
            user.setXXX(rs.getString("XXX"));
              .
              .
             list.add(user);
                           }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
         return list;
    }