Я создаю форму для входа с помощью jsp, java и базы данных. У меня есть файлыФорма входа с использованием JSP и СУБД
- index.jsp
- loginprocess.jsp
и следующие Java-файлы в пакете 'Bean' - LoginBean.java
- LoginDao.java
- ConnectionProvider.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
пакет фасоли;
импорт 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;
}
}
Я бегу это на сервере Tomcat и работает за исключением того, что я всегда получаю тот же результат («К сожалению, по электронной почте или ошибка пароля») независимо от того, сколько раз проверяется Логин.
Я также добавил запись в db (я использую oracle 10g) Я не знаю правильно о коде, так как я обращался в Интернете.
Логическое «состояние» возвращается как false
всегда из класса LoginDao.
Просьба указать, как работает эта программа.
Я пытался изменив атрибут name в теге на «pass», но он все тот же. Я пробовал предложения, но с LoginDao.validate (request.getAttribute ("obj")); , Я получаю код ответа HTTP: 500 –
@Natrajan Вы сохранили область как запрос? – BeginnersSake
Если вы задали область действия как запрос и все еще получаете 500. Затем выполните это 'LoginBean loginBean = (LoginBean) request.getAttribure (« obj »);' Теперь отправьте эту ссылку в метод 'validate' как' LoginDao.validate (loginBean) ; ' – BeginnersSake