繁体   English   中英

Spring MVC 4 + JSP + JDBC

[英]Spring MVC 4 + JSP + JDBC

我正在使用Spring MVC 4,JSP和MySQL在一个简单的请求中显示数据。

  • 数据库名称: contactdb
    表名:联系方式 在此处输入图片说明

  • 记录
    在此处输入图片说明

  • 我的文件夹结构
    在此处输入图片说明

  • 我在pom.xml文件中添加了以下依赖项:
    ---> mysql-connector-java-5.1.30
    -> spring-jdbc-4.1.6

  • com.rh.model / Contact.java

     public class Contact { private int id; private String name; private String email; private String address; private String telephone; //constructors //getters and setters } 
  • com.rh.dao / ContactDAO.java

     public interface ContactDAO { public List<Contact> getAll(); } 
  • com.rh.dao / ContactDAOImpl.java

     public class ContactDAOImpl implements ContactDAO{ private DataSource dataSource; public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } public List<Contact> getAll() { String sqlSelect = "SELECT * FROM contact"; List<Contact> contactList = new ArrayList<Contact>(); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try{ conn = dataSource.getConnection(); ps = conn.prepareStatement(sqlSelect); rs = ps.executeQuery(); while(rs.next()){ Contact contact = new Contact(); contact.setId(rs.getInt("contact_id")); contact.setName(rs.getString("name")); contact.setEmail(rs.getString("email")); contact.setAddress(rs.getString("address")); contact.setTelephone(rs.getString("telephone")); contactList.add(contact); } rs.close(); ps.close(); conn.close(); }catch(SQLException e){ e.printStackTrace(); } return contactList; } 
  • com.rh.config / Spring.xml

     <bean id="contactDAO" class="com.rh.dao.ContactDAOImpl"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/contactdb" /> <property name="username" value="root" /> <property name="password" value="" /> </bean> 
  • com.rh.controller / Test1Controller.java

     @Controller public class Test1Controller { ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("com.rh.config/Spring.xml"); ContactDAO contactDAO = ctx.getBean("contactDAO", ContactDAO.class); @RequestMapping(value="/") public ModelAndView listContact(ModelAndView model) throws IOException{ List<Contact> listContract = contactDAO.getAll(); model.addObject("listContact", listContract); return model; } 

    }

  • 的index.jsp

     ... <c:forEach var="contact" items="${listContact}" varStatus="status"> <tr> <td>${status.index + 1}</td> <td>${contact.name}</td> <td>${contact.email}</td> <td>${contact.address}</td> <td>${contact.telephone}</td> </tr> </c:forEach> 
  • 但是,从上面的代码中,我无法获取数据库值。 在此处输入图片说明

  • 我写错了哪一部分?

据我所知,没有任何东西显然是错误的。 正如评论所建议的那样,我将使用调试器在旅程的每个步骤中查看DAO和Controller中的值。

纯粹是推测,但我注意到您在Controller中对变量名listContract有一个小错字:

List<Contact> listContract = contactDAO.getAll();

它不应该影响此示例中的代码,而可能只是仔细检查代码其他区域中的拼写错误?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM