投稿のタイトルからどのように読めるか、私の質問はかなり新しいものになります。私は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.
私は自分のコードがどこに行くのかを見るのが愚かすぎますか、それとも何かを見逃しましたか?私はこの質問が非常に低レベルであることを知っていますが、私はそれを取得せず、既存のプロジェクトでコーディングを開始したくありません-それはすでに私に提案されました:-/
ご挨拶とご回答ありがとうございます
アンドレ
更新とどういうわけか解決策
全体として、問題の解決策は別のURLを使用することでした。
http://localhost:8080/CopyCat/faces/beanhello
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
同様の状況にある場合、これが役立つことを願っています。