JSF Ders01 - JSF' ye Giriş
Java Server Faces (JSF), java tabanlı web uygulama frameworküdür.
JSF' nin özellikleri aşağıda listelenmiştir.
- MVC (Model View Controller) yapısına uygun olarak geliştirilmiştir.
- Ajax'ı destekler.
- Event Handler yani olay işleyicidir.
- GUI (Graphical User Interface) frameworküdür.
- Birçok JSF bileşeni mevcuttur.(Ice Faces, Rich Faces, Prime Faces vs.)
- Component oriented yani öğe tabanlıdır. Bu yüzden hızlı bir şekilde web uygulamaları yazılabilir.
- Template Layout (Şablon Planı)'a sahiptir.
- Implicit Navigation (Kapalı Navigasyon)'a sahiptir.
- WebContent/WEB-INF içinde web.xml dosyası
- WebContent/WEB-INF içinde face-config.xml dosyası
- WebContent içinde .xhtml dosyaları
- Java Resources/src içinde java dosyaları
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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>JSF02</display-name> <welcome-file-list> <welcome-file>index.jsf</welcome-file> </welcome-file-list> <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> <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <context-param> <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> </context-param> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>resources.application</param-value> </context-param> <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener> </web-app>
Burada yer alan ;
- *.jsf değeri JSF dosyalarının uzantısını belirtir.
- java.faces.PROJECT_STAGE'a verilen Development değeri ekstra debug desteği sağlar.
- javax.faces.STATE_SAVING_METHOD statein nereye kaydedileceğini belirtir. client veya server olabilir.
WebContent içinde yer alan .xhtml dosyaları ise bilinen html dosyalarına benzerlik gösterir.Yer alan farklılıklar aşağıda belirtilmiştir.
- Html etiketine ekstra şu tanımlama eklenmelidir. xmlns:h="http:xmlns.jcp.org/jsf/html"
- Etiketlerin başına "h:" kullanılır. Örneğin "head" yerine "h:head", "body" yerine "h:body" gibi.
- Form elemanlarında da bazı farklılıklar vardır. Örneğin "input type=text" yerine "h:inputText" gibi.
- .xhtml dosyalarında tag isimleri, attribute isimleri vs. küçük harfli olmalıdır.
Yorumlar
Yorum Gönder