最初、web.xmlで<url-pattern>/faces/*</url-pattern>と書いた場合、http://localhost:8080/jsftest01/faces/test01.jsp と指定すると test01.jspが起動されるのに対し、web.xml で<url-pattern>*.jsf</url-pattern>と指定した場合、http://localhost8080/jsftest01/test01.jsf と指定すると test01.jsp が起動するということに気づくまで時間が掛かりました。最初に誰でも通る道なのでしょうか。
JSFを使ってみる
(1) ディレクトリ構成
jsftest01 ├── WEB-INF │ ├── lib │ │ ├── javax.faces-2.2.1.jar │ │ └── jstl-1.2.jar │ └── web.xml └── test01.jsp 2 directories, 4 files
(2) ライブラリの入手
wget http://repo1.maven.org/maven2/org/glassfish/javax.faces/2.2.4/javax.faces-2.2.4.jar wget http://repo1.maven.org/maven2/javax/servlet/jstl/1.2/jstl-1.2.jar
(3) 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_2_5.xsd" id="WebApp_ID" version="2.5"> <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>*.jsf</url-pattern> </servlet-mapping> </web-app>
(4) test01.jsp
<?xml version="1.0" encoding="utf-8" ?< <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" version="1.2"< <jsp:directive.page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" /< <html xmlns="http://www.w3.org/1999/xhtml"< <head< <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /< <title<JSF Sample</title< </head< <body< <f:view< <h:outputText value="JSFテストページ" id="text1" /< </f:view< </body< </html< </jsp:root<
(5) 配備
cp -rp jsftest01 ~/tomcat7/webapps
(6) 実行結果
0 件のコメント:
コメントを投稿