JSF JSF, Tomcat, Server Faces und maven

Bitte aktiviere JavaScript!
Hallo zusammen,

Ich habe ein Problem mit dem im Thema genannten Tools / Verfahren.

Ich nutze die akt. Version von Netbeans und möchte eine Maven Web Anwendung erstellen. Über Datei -> neues Projekt wird auch alles prima angelegt. Als Server wähle ich einen Tomcat 8.5 aus, den ich manuell auf meinem PC installiert habe. Die Hello World Anwendung funktioniert auch prima. Die Index.html wird korrekt dargestellt.
Wenn ich nun eine JSF managed Bean hinzufüge (ohne irgendetwas in ihr zu programmieren) und dann das Projekt erneut starte, erscheint der Fehler 404.
Ich habe dann festgestellt, dass obwohl meine Datei index.html lautet, unser Konfigurationsdatei im web-inf (?) Verzeichnis sie Datei index.xhtml referenziert ist. Aber auch ein Abändern des Dateinamens in der Konfigurationsdatei brachte keinen Erfolg.

Das ganze halt mit dem Tomcat.

Probiere ich das Gleiche mit dem Glowfish Server klappt es. Aber die war Datei vom Glowfish funktioniert nicht mit dem Tomcat.

Führe ich alle Schritte genau so durch wie oben beschrieben , allerdings ohne Maven, dann funktioniert es mit der managed Bean Datei.

Ich möchte lediglich eine JSF Anwendung mit Maven für Tomcat erstellen, wo über ein Formular Daten abgefragt werden, die dann auf SQL Anweisungen für eine Oracle Datenbank angewendet werden und die Abfrageergebnisse sollen dann wieder im Browser dargestellt werden.

Hat jemand eine Idee, was das sein könnte?

Gruß
Rainer
 
Ich habe mal beide Versionen angefügt.

mavenproject1_ohne_bean.zip: File -> New Project -> Maven -> Web Application

Diese Version funktioniert im Tomcat. Die index.html wird korrekt dargestellt.

mavenproject1_mit_bean.zip: ausgehend von "mavenproject1_ohne_bean.zip" -> Source Packages -> rechte Maustaste -> New -> JSF Managed Bean -> alles auf default gelassen, Scope -> request

Diese Version funktioniert nicht. :-(

Nach dem Hinzufügen der JSF Managed Bean wurde automatisch das Verzeichnis WEB-INF erstellt inkl. der Datei web.xml. In dieser wurde der Dateiname "faces/index.xhtml" auf "faces/index.html" geändert, in der Hoffnung, dass es an dieser Unstimmigkeit liegt. Aber auch nach der Änderung der web.xml kommt der Fehler:

HTTP Status 404 – Not Found
Type Status Report

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Apache Tomcat/8.5.29
 

Anhänge

Kurzer Nachtrag:

Ich meinte natürlich Glassfish und nicht Glowfish.
Und wenn ich den Glassfish-Server nutze, dann kann ich zwar die index.html anzeigen, jedoch wenn ich eine Variable aus der managed bean Klasse aufrufe (wo eine getter und setter Funktion existiert), wird nur der Platzhalter angezeigt und nicht der Wert selbst.

Java:
package de.meinefirma.mavenproject2;

import javax.inject.Named;
import javax.enterprise.context.RequestScoped;

@Named(value = "controller")
@RequestScoped

public class NewJSFManagedBean {
    private String meinName;

    public NewJSFManagedBean() {
    }

    public String getMeinName() {
        return meinName;
    }

    public void setMeinName(String meinName) {
        this.meinName = meinName;
    }   
}
HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:jsf="http://xmlns.jcp.org/jsf">
</html>
    <head jsf:id="head">
        <title>Start Page</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Hello World! #{controller.meinName}</h1>
    </body>
</html>
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben