Hallo liebe Community,
Ich habe folgendes Problem:
Ich habe ein altes Projekt als Vorlage benutzt wo eine login Klasse zum allgemeinen Testen ohne Datenbank wo der Benutzername "admin" und das Password "nimda" war zum testen ob er auf die folgende JSP umspringt. Jetzt habe ich das Projekt erweitert mit einer Datenbankklasse zur Login abfrage. Jetzt aber jedoch, führt das Servlet den Methodenaufruf nicht aus, wenn ich normale login Daten eingebe. Wenn ich jedoch wie vorher "admin" und "nimda" eingebe, führt er das ganze aus und springt auf die Folgeseite um obwohl ich die klassen zum testen komplett rausgenommen habe, ich den Tomcat server neugestartet, gelöscht und neu aufgesetzt habe.
Ich benutze Mysql 5.1, Tomcat 7.0 und Java EE auf Eclipse.
Hier mein Programmcode:
Nehmt mir meinen Programmcode nicht übel, anfänger und so
Login:
[Java]
public User loginvalid(String username, int password) {
//Der Printwriter ist für die response vom Servlet.
User result = null;
try{
Connection conn = openConnection();
String query = "SELECT * FROM users WHERE kontonummer.sepa = ? AND kontonummer.pin = ?";
PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setString(1, username);
pstmt.setInt(3, password);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
result = mapRow(rs);
}else{
}
pstmt.close();
}catch(SQLException sqle){
logger.error("SQL-Exception occured", sqle);
}
return result;
}
private User mapRow(ResultSet rs) throws SQLException {
User result = new User() ;
result.setId(rs.getInt("id"));
result.setVorname(rs.getString("vorname"));
result.setNachname(rs.getString("nachname"));
result.setGeschlecht(rs.getString("geschlecht"));
result.setAdresse(rs.getString("adresse"));
result.setTelefonnummer(rs.getInt("telefonnummer"));
result.setGeburtstag(rs.getDate("geburtstag"));
return result;
}
[/code]
LoginServlet
Login.jsp
web.xml
Mit freundlichen Grüßen
Ich habe folgendes Problem:
Ich habe ein altes Projekt als Vorlage benutzt wo eine login Klasse zum allgemeinen Testen ohne Datenbank wo der Benutzername "admin" und das Password "nimda" war zum testen ob er auf die folgende JSP umspringt. Jetzt habe ich das Projekt erweitert mit einer Datenbankklasse zur Login abfrage. Jetzt aber jedoch, führt das Servlet den Methodenaufruf nicht aus, wenn ich normale login Daten eingebe. Wenn ich jedoch wie vorher "admin" und "nimda" eingebe, führt er das ganze aus und springt auf die Folgeseite um obwohl ich die klassen zum testen komplett rausgenommen habe, ich den Tomcat server neugestartet, gelöscht und neu aufgesetzt habe.
Ich benutze Mysql 5.1, Tomcat 7.0 und Java EE auf Eclipse.
Hier mein Programmcode:
Nehmt mir meinen Programmcode nicht übel, anfänger und so
Login:
[Java]
public User loginvalid(String username, int password) {
//Der Printwriter ist für die response vom Servlet.
User result = null;
try{
Connection conn = openConnection();
String query = "SELECT * FROM users WHERE kontonummer.sepa = ? AND kontonummer.pin = ?";
PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setString(1, username);
pstmt.setInt(3, password);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
result = mapRow(rs);
}else{
}
pstmt.close();
}catch(SQLException sqle){
logger.error("SQL-Exception occured", sqle);
}
return result;
}
private User mapRow(ResultSet rs) throws SQLException {
User result = new User() ;
result.setId(rs.getInt("id"));
result.setVorname(rs.getString("vorname"));
result.setNachname(rs.getString("nachname"));
result.setGeschlecht(rs.getString("geschlecht"));
result.setAdresse(rs.getString("adresse"));
result.setTelefonnummer(rs.getInt("telefonnummer"));
result.setGeburtstag(rs.getDate("geburtstag"));
return result;
}
[/code]
LoginServlet
Java:
package web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.user.UserDAO;
import dao.user.UserDAOFactory;
public class Login extends HttpServlet {
UserDAO user = UserDAOFactory.getInstance();
protected void doGET(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{
String kontonr = req.getParameter("kontonr");
int pin = Integer.parseInt(req.getParameter("pin"));
user.loginvalid(kontonr, pin);
}
}
Login.jsp
Java:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1 "
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Banksystem</title>
</head>
<body>
<div class="Top">
<h3>Willkommen zu unserem Banksystem</h3>
</div>
<div class="Content">
<form action="login" method="post">
KontoNR: <input type="text" name="kontonr"/><br>
PIN: <input type="password" name="pin"/><br>
<input type="submit" value="Login">
</div>
</form>
</body>
</html>
Java:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>Bank2</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
Mit freundlichen Grüßen