MMH also ich hab nun folgendes erstellt:
1 Login.jsp die aus folgenden Code besteht :<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<form action="j_security_check" method="POST">
Username:<input type="text" name="j_username">
Password:<input type="password" name="j_password">
<input type="submit" value="Login">
</form>
</body>
</html>
2. Login Error.html
<html>
<head>
<title>Login Test: Error logging in</title>
</head>
<body>
<h1>Error Logging In</h1>
</body>
</html>
3.pageA.html
<html>
<head>
<title>Admin secure area</title>
</head>
<body>
<h1>Admin secure area</h1>
</body>
</html>
4.U.html
<html>
<head>
<title>User secure area</title>
</head>
<body>
<h1>User Secure Area</h1>
</body>
</html>
Dann hab ich in my Jbos in die XML Datei folgenden Code reinkopiert::
<?xml version="1.0" encoding="UTF-8"?>
<JDBCRealm"
debug="99" driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost/authority?user=test;password=test" userTable="users"
userNameCol="user_name"
userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
Und zu guter letzt eine Java Datei die die VB zur DB erzeugt:
import java.sql.SQLException;
import java.util.HashMap;
public class DBZugriff {
private java.sql.Connection dieVerbindung;
private final String DBUSER = "root";
private final String PASSWORD = "";
private final String DBNAME = "authority";
String url = "jdbc:mysql://localhost/"+DBNAME+"?user="+DBUSER+"&password="+PASSWORD;
//Konstruktor
public DBZugriff()
{
try
{ // Die verbindung zur DB wird aufgebaut
// Erzeuge, laden und registrieren des Treibers
// Der Name des Treibers lautet org.gjt.mm.mysql.Driver
Class.forName("com.mysql.jdbc.Driver").newInstance();
// Hole eines Connection Objects
//die DB heißt dbbenutzer
dieVerbindung = java.sql.DriverManager.getConnection(url);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
// Lesende Operation
public java.sql.ResultSet leseDB()
{
java.sql.Statement statement;
// Liefere Tabelle
java.sql.ResultSet tabelle;
try
{
// Abfrage der DB
statement = dieVerbindung.createStatement();
//Ausführen der SQL Anweisung
tabelle = statement.executeQuery("Select * FROM benutzer");
// Rückgabe des Ergebnisses vom Typ ResultSet
return tabelle;
}
catch (java.sql.SQLException e3)
{
System.out.println ("SQLException:" + e3.getMessage());
}
return null;
}
//Schreibene Operationen
public synchronized void schreibeDB(String pseudonym,String passwort)
{
String benutzernrString = "Leer";
int benutzernr = 0;
java.sql.Statement statement = null;
java.sql.ResultSet tabelle = null;
try {
//Statement erzeugen
statement = dieVerbindung.createStatement();
// Operation ausführen
tabelle = statement.executeQuery("SELECT MAX ( BENUTZERNR)FROM BENUTZER");
// Zeiger auf 1. Element positionieren
tabelle.next();
// 1. Element der 1. Spalte lesen
benutzernr = tabelle.getInt(1);
// benutzernr um 1 erhöhen
benutzernr++;
benutzernrString = Integer.toString(benutzernr);
// neuen Eintrag im String values zwischenspeichern
String insert = "INSERT INTO benutzer ( BENUTZERNR,PSEUDONYM, PASSWORT)";
// neuen Wert in Stringvaules zwischenspeichern
String values = "VALUES('" + benutzernrString + "','" + pseudonym + "','" + passwort + "')";
// DB Operationen ausführen d.h. Daten in Tabelle eintragen
statement.executeUpdate(insert + values);
}
catch (java.sql.SQLException e3)
{
System.out.println("SQLException:" + e3.getMessage());
}
finally
{
// DIe Close Operation kann ebenfalls eine Ausnahme erzeugen
try {
tabelle.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void pruefe()
{
}
public static void main (String args [])
{
DBZugriff meinzugriff = new DBZugriff();
System.out.println("DB Zugriff erfolgreich");
} }
Und das ist meine DB Authority:
create table users
(
user_name varchar(15) not null primary key,
user_pass varchar(15) not null
);
create table roles
(
role_name varchar(15) not null primary key
);
create table user_roles
(
user_name varchar(15) not null,
role_name varchar(15) not null,
primary key( user_name, role_name )
);
Und trotzdem kommt immer eine fehlermeldung und das ganze funtz einfach net saß die ganze nacht dran und komm auf kein sinnvoles Ergebnis.