2

投稿のタイトルからどのように読めるか、私の質問はかなり新しいものになります。私はJSFをEclipseで動作させる方法を理解しようとし、素敵で有名なHelloworldを実行しようとしました。

テンプレートとして、Oracle Java EE6Bookのコードを使用しました。

このManagedBeanを作成しました-パッケージde.kuntzeのHello.java

package de.kuntze;

import javax.faces.bean.ManagedBean;

@ManagedBean
public class Hello {
    final String world = "Hello World!";

    public String getWorld(){
        return world;
    }

}

これ以上簡単にすることはできません...私はこれを次のサイトで使用して--beanhello.xhtmlとペアリングします:

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
    <title>Facelets Hello World</title>
</h:head>
<h:body>
    #{hello.world}
</h:body>
</html>

また、非常に簡単です...web.xmlのコードは次のとおりです。

<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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>CopyCat</display-name>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
</web-app>

これをEclipseと統合したTomcat7サーバーで実行させたところ、これまでのところ出力は問題ないように見えます。ログの詳細を提供できる場合は、お知らせください。

プロジェクトの名前は「CopyCat」で、マネージドBeanが表示されることを期待していました。

http://localhost:8080/CopyCat/hello

しかし、それは私にURLと同じ404エラーを与えます

http://localhost:8080/CopyCat/

http://localhost:8080/hello.

私は自分のコードがどこに行くのかを見るのが愚かすぎますか、それとも何かを見逃しましたか?私はこの質問が非常に低レベルであることを知っていますが、私はそれを取得せず、既存のプロジェクトでコーディングを開始したくありません-それはすでに私に提案されました:-/

ご挨拶とご回答ありがとうございます

アンドレ

更新とどういうわけか解決策

  1. 全体として、問題の解決策は別のURLを使用することでした。

    http://localhost:8080/CopyCat/faces/beanhello
    
  2. Eclipseでtomcatを使用すると、いくつかのエラーが発生し(以下を参照)、これまでに提案できる2つのことがあります(ところで、JSTL.jarはそのために必要ではありませんでした)。

    a)開始環境としてcoreservlets(http://www.coreservlets.com/JSF-Tutorial/jsf2/#Getting-Started)によるEclipseワークスペースを使用します。

    b)URLパターンを*.jsfに変更します

    URLを使用してコードにアクセスします

    http://localhost:8080/HelloWorld/beanhello.jsf
    

同様の状況にある場合、これが役立つことを願っています。

4

1 に答える 1

1

試すhttp://localhost:8080/CopyCat/faces/beanhello

あなたのページ名はbeanhello.xhtml

サーブレットマッピングの URLパターン/faces/*

あなたの例外に関して

動的Webアプリケーション、Eclipse、JSFでのBalusC例外java.lang.NoClassDefFoundErrorによるこの回答を読んでください

于 2012-07-08T10:35:22.727 に答える