Ich erstelle ein Login-Formular mit JSP, Java und einer Datenbank. Ich habe die DateienLogin-Formular mit JSP und DBMS
- index.jsp
- loginprocess.jsp
und die folgenden Java-Dateien in einem Paket - LoginBean.java
- LoginDao.java 'Bean'
- ConnectionProvider.java
- Provider.java
index.jsp
<form action="loginprocess.jsp" method="post">
E-mail:<input type="text" name="email" /> <br/ <br/>
Password:<input type="password" name="password"/><br/><br/>
<input type="submit" value="login"/>"
</form>
loginprocess.jsp
<%@page import="bean.LoginDao"%>
<jsp:useBean id="obj" class="bean.LoginBean"/>
<jsp:setProperty property="*" name="obj"/>
<%
boolean status = LoginDao.validate(obj);
if (status) {
out.println("Your'e successfully logged in");
session.setAttribute("session", "TRUE");
} else {
out.print("Sorry, email or password error");
%>
<jsp:include page="index.jsp"></jsp:include>
<%
}
%>
LoginBean.java
package bean;
public class LoginBean {
private String email, pass;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
LoginDao.java
bean Paket;
import java.sql. *;
public class LoginDao {
public static boolean validate(LoginBean bean) {
boolean status = false;
try {
Connection con = ConnectionProvider.getCon();
PreparedStatement ps = con.prepareStatement("select * from user5 where email=? and pass=?");
ps.setString(1, bean.getEmail());
ps.setString(2, bean.getPass());
ResultSet rs = ps.executeQuery();
status = rs.next();
} catch (Exception e) {
}
return status;
}
}
Ich laufe dies auf einem Tomcat-Server und läuft außer, dass ich immer die gleiche Leistung („Sorry, E-Mail oder Passwort-Fehler“), egal wie oft Login validiert.
Ich habe auch einen Datensatz in der db hinzugefügt (ich benutze Oracle 10g) Ich weiß nicht richtig über den Code, da ich online verwiesen.
Der boolesche "Status" wird als false
immer von der LoginDao-Klasse zurückgegeben.
Bitte führen Sie mich, wie dieses Programm funktioniert.
Ich habe versucht, Ändern Sie das Namensattribut im Tag zu "pass", aber es ist immer noch dasselbe. Ich habe die Vorschläge aber mit LoginDao.validate (request.getAttribute ("obj")); Ich erhalte einen HTTP-Antwortcode: 500 –
@Natrajan Haben Sie den Umfang als Anfrage behalten? – BeginnersSake
Wenn Sie den Bereich als Anfrage festgelegt haben und immer noch 500 erhalten haben, dann tun Sie dies 'LoginBean loginBean = (LoginBean) request.getAttribure ("obj"); 'Senden Sie nun diese Referenz in' validate' Methode als 'LoginDao.validate (loginBean) ; ' – BeginnersSake