JSF для Tomcat (original) (raw)

JSF для Tomcat

JSF входит в поставку любого JEE-сервера приложений, но не в ходит в Tomcat, так как Tomcat только лишь контейнер Web-приложений, но никак не JEE-сервер.

Однако можно заставить Tomcat работать как полноценный сервер JSF-приложений. И сейчас я расскажу как это сделать по шагам. (Будем считать, что у вас уже установлен и работает Apache Tomcat 6.0).

  1. Загрузите архив mojarra-1.2_09-b02-FCS-binary.zip с сайта https://javaserverfaces.dev.java.net/
    Распакуйте из этого архива библиотеки jsf-api.jar и jsf-impl.jar и положите их в каталог CATALINA_HOME/lib.

  2. Перенесите библиотеки jstl.jar и standard.jar из каталога CATALINA_HOME/webapps/examples/WEB-INF/lib в каталог CATALINA_HOME/lib.

  3. Создайте тестовое JSF-приложение.
    Структура каталогов:

CATALINA_HOME/webapps/loginjsf  
|-WEB-INF  
| |-classes  
| | |-com  
| |   |-corejsf  
| |     |-UserBean.class  
| |-web.xml  
| |-faces-config.xml  
|-index.html  
|-index.jsp  
|-welcome.jsp  

Исходник UserBean.java:

package com.corejsf;
public class UserBean {
private String name;
private String password;
// PROPERTY: name
public String getName() { return name; }
public void setName(String newValue) { name = newValue; }
// PROPERTY: password
public String getPassword() { return password; }
public void setPassword(String newValue) { password = newValue; }
}

Содержимое файла
CATALINA_HOME/webapps/loginjsf/WEB-INF/web.xml:



Faces Servlet
javax.faces.webapp.FacesServlet
1


Faces Servlet
*.faces


index.html


Содержимое файла
CATALINA_HOME/webapps/loginjsf/WEB-INF/faces-config.xml:



/index.jsp

login
/welcome.jsp



user
com.corejsf.UserBean
session

Содержимое файла
CATALINA_HOME/webapps/loginjsf/WEB-INF/index.html:

Start Web Application

Please wait for the web application to start.

Содержимое файла
CATALINA_HOME/webapps/loginjsf/WEB-INF/index.jsp:

<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> A Simple JavaServer Faces Application

Please enter your name and password.

Name:
Password:

Содержимое файла
CATALINA_HOME/webapps/loginjsf/WEB-INF/welcome.jsp:

<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> A Simple JavaServer Faces Application

Welcome to JavaServer Faces, !

4. Откройте строку адреса http://127.0.0.1:8080/loginjsf/ в окне броузера и убедитесь, что JSF-приложение работает.

Литература

Дополнительно

Включить по умолчанию отдачу контента в кодировке UTF-8 можно в server.xml Tomcat'а:

< connector
executor="tomcatThreadPool"
port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"
useBodyEncodingForURI="utf-8"/>