2014-04-08 52 views
0

我想将我的JSP servlets连接到一个posgress数据库,并且我正在使用一个正在扮演中间人角色的java bean类。我使用注册表单成功地将用户信息存储到数据库中时遇到了一些困难。如果您愿意帮助我,我会很感激。在jsp servlet中实现一个java bean

非常感谢。

JSP的servlet:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Register here</title> 
</head> 
<body> 
    <form method="post" action="registration.jsp"> 
     <center> 
     <table border="1" width="30%" cellpadding="5"> 
      <thead> 
       <tr> 
        <th colspan="2">Enter Information Here</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>First Name</td> 
        <td><input type="text" name="fname" value="" /></td> 
       </tr> 
       <tr> 
        <td>Last Name</td> 
        <td><input type="text" name="lname" value="" /></td> 
       </tr> 
       <tr> 
        <td>Email</td> 
        <td><input type="text" name="email" value="" /></td> 
       </tr> 
       <tr> 
        <td>User Name</td> 
        <td><input type="text" name="uname" value="" /></td> 
       </tr> 
       <tr> 
        <td>Password</td> 
        <td><input type="password" name="pass" value="" /></td> 
       </tr> 
       <tr> 
        <td>Current Country</td> 
        <td><input type="text" name="country" value="" /></td> 
       </tr> 
       <tr> 
        <td>Current City</td> 
        <td><input type="text" name="city" value="" /></td> 
       </tr> 
       <tr> 
        <td><input type="submit" value="Submit" /></td> 
        <td><input type="reset" value="Reset" /></td> 
       </tr> 
       <tr> 
        <td colspan="2">Already have an account? <a href="index.jsp">Login Here</a></td> 
       </tr> 
      </tbody> 
     </table> 
     </center> 
    </form> 
</body> 

的Java Bean中,我使用:

public class UserBean { 

    private int id; 
    private String username; 
    private String password; 
    private String email; 
    private String firstName; 
    private String lastName; 
    private String endDate; 
    private boolean validated; 

    public UserBean() { 
     // Empty constructor 
    } 

    public int getId() { 
     return id; 
    } 

    public String getUsername() { 
     return username; 
    } 

    public String getPassword() { 
     return password; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public String getFirstName() { 
     return firstName; 
    } 

    public String getLastName() { 
     return lastName; 
    } 

    public String getEndDate() { 
     return endDate; 
    } 

    public boolean isValidated() { 
     return validated; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public void setUsername(String username) { 
     this.username = username; 
    } 

    public void setPassword(String password) { 
     this.password = password; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 

    public void setFirstName(String firstName) { 
     this.firstName = firstName; 
    } 

    public void setLastName(String lastName) { 
     this.lastName = lastName; 
    } 

    public void setEndDate(String endDate) { 
     this.endDate = endDate; 
    } 

    public void setValidated(boolean validated) { 
     this.validated = validated; 
    } 
} 
+0

我也有一个主要的java类,用于我使用的所有bean,它们都存储在“WEB-INF/classes”下的包中。 – user3353094

+0

帮助你做什么?你说你的问题是将数据保存到数据库,但是你没有说出问题所在,也没有说明你如何保存数据。 –

回答

1

你的POJO的JavaBean不会奇迹般地获得与数据填充。它没有与数据库的连接,也无法获取或保存数据。

您需要一个控制器从数据库中获取数据,创建模型对象并使用数据填充它们。控制器还负责保存bean

你可以自己写这个,但通常使用像JPA2这样的现有ORM框架,像Hibernate这样的自定义持久性提供者API或MyBatis之类的东西通常会更好。如果你真的想要的话,你可以用直接的JDBC调用来手动控制你的控制器,从环境中注入连接,但是这往往会产生大量的样板代码,即使像Spring JDBC这样的东西可以帮助你平滑一些事情。

有些IDE,比如NetBeans和Eclipse,甚至可以为你自动生成模型和控制器,尽管我从来没有对结果感到满意(特别是未能使用父类和泛型方法,任何有用的错误处理)。