引用:http://liusuper.iteye.com/blog/214089
JSF以MVC模式為基礎,與Struts不同,JSF的目標是希望以一個與Swing相類似的方式來開發網頁,因此,從JSF的結構圖當中,他的核心概念不是頁面,而是控件樹,也就是說,當用戶提交一個請求時,JSF會先將頁面上的組件先轉換為與Swing當中類似的,由容器和控件組成的控件樹,然后數據和事件被設置到對應的控件上,然后以一種與Swing類似的方式,來處理后續的請求。控件樹是整個JSF的核心,所有其他的一切一切都是圍繞著這棵控件樹展開的
* jsf-impl.jar
* jsf-api.jar
* commons-digester.jar
* commons-collections.jar
* commons-beanutils.jar
* jstl.jar
* standard.jar
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<description>
JSF Demo
</description>
<display-name>JSF Demo</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>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
定義一個javabeanJSF以MVC模式為基礎,與Struts不同,JSF的目標是希望以一個與Swing相類似的方式來開發網頁,因此,從JSF的結構圖當中,他的核心概念不是頁面,而是控件樹,也就是說,當用戶提交一個請求時,JSF會先將頁面上的組件先轉換為與Swing當中類似的,由容器和控件組成的控件樹,然后數據和事件被設置到對應的控件上,然后以一種與Swing類似的方式,來處理后續的請求。控件樹是整個JSF的核心,所有其他的一切一切都是圍繞著這棵控件樹展開的
JSF的處理核心是控件樹,他會先將頁面上所聲明的控件轉換為一棵控件樹,后續的操作將在這顆控件樹上進行。為了提高性能,系統會為之前生成的控件樹提供緩存。Restore View的工作就是在緩存當中查找是否存在之前已經生成好的控件樹,如果沒有,則根據頁面的內容,重新生成。
導入包:








web.xml配置




























package onlyfun.caterpillar;
public class UserBean {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
定義一個/WEB-INF/faces-config.xml像struts中的struts-config.xml文件一樣,實現跳轉:






















index.jsp


















welcome.jsp














