Как сравнить данные, введенные inputText в index.xhtml, с базой данных, чтобы увидеть, существуют ли они в JSF и классе Java - PullRequest
0 голосов
/ 27 апреля 2018

Хорошо, я застрял с этим. У меня есть код, настроенный на прием нужных мне полей в файле xhtml. Имя пользователя, пароль, новый пароль и подтверждение нового пароля. Кажется, я не могу понять, правильно ли я подключаюсь к базе данных. Я также не уверен, как идти о написании кода, который будет сравнивать имя пользователя и пароль, введенные в эти поля в файле xhtml, с тем, который введен в базу данных. Затем мне нужно подтвердить, что новый пароль и пароль подтверждения совпадают, и если они совпадают, и я нажимаю кнопку отправки, то я обновлю пароль в базе данных. Любая помощь будет оценена

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html">
    <h:head>
        <title>Change Password</title>
    </h:head>
    <h:body>
        <h:form id="mypass">
            <h3>
                Change Password
            </h3> 
            <h:panelGrid columns="2">
                <h:outputLabel value="Username"/>
                <h:inputText id="username" value="#{passChange.username}" tabindex="1" required="true"
                             requiredMessage="Username is required."/>
                <h:outputLabel value="Old Password"/>
                <h:inputSecret id="password" value="#{passChange.password}" tabindex="1" required="true"
                             requiredMessage="Old Password is required."/>
                <h:outputLabel value="New Password"/>
                <h:inputSecret id="newPassowrd" value="#{passChange.newPassword}"/>
                <h:outputLabel value="Confirm New Password"/>
                <h:inputSecret id="newPasssword" value="#{passChange.confirmPassword}"/>
            </h:panelGrid>
            <br />
            <h:commandButton value="Submit" action = "PassChanged" actionListener="#" />
             <h:button value="reset" />
        </h:form>
    </h:body>
</html>

import java.awt.event.ActionEvent;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import java.sql.*;
import javax.swing.JOptionPane;

@ManagedBean
@SessionScoped
public class PassChange implements Serializable{
    private String username = "root@localhost";
    private String password= "root@localhost";
    private String name = "root@localhost";
    private String newPassword;
    private String confirmPassword;
    Connection con;
    PreparedStatement st;
    ResultSet rs;

    String host = "jdbc:derby://localhost:1527/Account [app on APP]";


    public PassChange() {
        this(null, null, "Ashanti Terry", null, null);
        connect();


    }

    public PassChange(String username, String password, String name, String newPassword, String confirmPassword) {
        this.username = username;
        this.password = password;
        this.name = name;
        this.newPassword = newPassword;
        this.confirmPassword = confirmPassword;
    }



    public void connect(){
        try {
            String driver = "jbdc:derby:??localhost:1527/Account";
            Class.forName(driver);            
            con = DriverManager.getConnection(host, "root","");                        
        } catch (Exception e) {
        JOptionPane.showMessageDialog(null,e);        
        }
        }


    public String getUsername() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNewPassword() {
        return newPassword;

    }

    public void setNewPassword(String newPassword) {
        this.newPassword = newPassword;
    }

    public String getConfirmPassword() {
        return confirmPassword;
    }

    public void setConfirmPassword(String confirmPassword) {
        this.confirmPassword = confirmPassword;
    }


    public String getInput(){
        return "<p style=\"color:green\"> "
        + "Hello, " + name + ", your password has been updated!" + "</p>";
    }
}
...