【问题标题】:Getting values from mysql database to show in JSP (JAVA)从 mysql 数据库中获取值以在 JSP (JAVA) 中显示
【发布时间】:2014-07-29 23:45:50
【问题描述】:

我可以使用一些帮助来从 mysql 数据库中获取值,并将其解析为 servlet,该 servlet 会打开一个 jsp 文件“Showlist.jsp”并将所有值作为参数。

我的数据库中的表格包含:

ID, Name, Initials, cpr, password, role.

我在我的系统中创建了 3 个用户,我想在一个 jsp 文件中显示所有用户。

现在我有 3 层,其中包含以下类:

视图层 - html/jsp文件

功能层 - 类函数

数据层 - DAOoperator 类(包含 mysql 语句。 - DTOoperator 类(这是我的具有 getter 和 setter 方法的对象) - 类 DataAccess(包含与 mysql 数据库的连接)

所有这些都由一个名为 Controller 的 servlet 控制。

有没有简单的方法可以做到这一点??

【问题讨论】:

    标签: java mysql jsp servlets


    【解决方案1】:

    从不在 21 世纪使用 Scriplet,而使用 JavaServer Pages Standard Tag Library

    更多关于Oracle Tutorial - Using JSTL


    逻辑: 只需在 Servlet 中从数据库中获取数据,并将数据填充到 POJO 类中,并将所有用户的最终列表设置为请求属性,最后将请求转发到 JSP 页面.

    示例代码:

    用户.java

    public class User{
       private String ID, Name, Initials, cpr, password, role;
       // getter and setter       
    }
    

    小服务程序:

    List<User> list = new ArrayList<User>();
    //fetch the record form database
    // populate the record in User POJO class
    // add the users in the list
    
    // finally set the list as request attribute
    request.setAttribute("users",list);
    
    // forward the request to the JSP
    request.getRequestDispatcher("/xyz.jsp").forward(request,response);
    

    xyz.jsp:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    
    <table border="1">
        <c:forEach items="${ requestScope.users}" var="user">
            <tr>
                <td><c:out value="${user.ID }" /></td>
                <td><c:out value="${user.Initials }" /></td>
                <td><c:out value="${user.cpr }" /></td>
                <td><c:out value="${user.role }" /></td>
            </tr>
        </c:forEach>
    </table>
    

    【讨论】:

      【解决方案2】:

      在 servlet 中,您访问 DAO 并调用返回用户列表的 getUser() 方法。然后将结果设置为请求。

      request.setAttribute("users", userList);
      

      在jsp中你可以通过:

          <% List<User> userList = (List<User>)request.getAttribute("users"); %>
      

      更好的方法是在 jsp 中使用 jstl 而不是纯 java 代码。

      【讨论】:

      • 但是,在我的 DAO 类的 getUser() 方法中,我应该从表中运行一个 SElect * 对吗?然后呢?
      • 从不建议在 21 世纪使用 Scriplet
      猜你喜欢
      • 2015-11-25
      • 2014-04-28
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 2015-02-18
      • 2018-11-24
      • 1970-01-01
      • 2019-07-04
      相关资源
      最近更新 更多