Java Server Faces ile Merhaba Dünya(Hello World) Uygulaması

Java Server Faces ile Merhaba Dünya(Hello World) Uygulaması

Merhaba bu yazımda Eclipse üzerinde Maven ile JSF Merhaba Dünya! uygulaması yapımını anlatacağım.

Öncelikle Eclipse Üzerinde Tomcat server kurulumumuzu yapalım.Önceki yazımda anlatmıştım.

Hello JSF Projesi

File > New Maven Project

Next ve Finish.

 

Projemiz oluştuktan sonra Java  Compiler versiyonunu ayarlayalım. Ben şuan Java 1.8 kullanıyorum o nedenle 1.8 olarak seçtim.

Java Build Path desteğimizi Java 1.8 olarak güncelleyelim.

Project Faces ayarlarından Java versiyonunu 1.8 olarak seçelim. Dynamic Web Modüle ayarını son versionu olan 3.1 olarak seçtim.

Apply and Close.

Projemizde şuan WEB.XML yok.

Web xml ve WEB-INF klasörümüzü eklemek için

Java EE Tools > Generate Deployment Descriptor Stub

Web Xml dosyamız oluştu fakat Dynamic Web Modue 2.5 sürümüne göre oluştu içini değiştireceğim. Devam edelim.

Pom Xml dosyamız şuan boş.

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.atakancoban</groupId>
	<artifactId>hellojsf</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>Hello JSF</name>
	
<!-- JSF Dependency -->
  <dependencies>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.2.14</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.2.14</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
</dependencies>
  
  <!-- Build Maven WAR -->
<build>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.2</version>
        <configuration>
          <!-- Java version -->
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
   
  </build>

</project>

 

Burada JSF Dependency alanı gerekli kütüphaneleri eklememizi sağladı.Build Maven War ile projenin build edilme ayarını güncelledik.
source ve target alanları java versionuma göre ayarladım. 1.8

Şimdi projemize sağ click yapalım ve Maven Update işlemi yapalım.
POM xmlde değişiklik yaptığım için maven update yaptım.

Şimdi POM xmlde eklediğim kütüphaneleri Maven Clean ve Maven İnstall işlemleri yaparak kendi ortamımıza indirelim.
Pom.xml > Sağ Click > Run As > Maven Clean

Çalıştıktan Sonra Console çıktısı. BUILD SUCCESS

Şimdi Maven İnstall yapalım.

Maven install işlemi sonrası console çıktısı. BUILD SUCCESS.

 

Şimdi WEB.XML dosyamızı güncelleyelim

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <display-name>hellojsf</display-name>
  <welcome-file-list>
    <welcome-file>index.xhtml</welcome-file>
  </welcome-file-list>
    
  
  	<context-param>
		<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
		<param-value>.xhtml</param-value>
	</context-param>
	<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>*.xhtml</url-pattern>
   </servlet-mapping>  
    
</web-app>

JSF projemiz için Bean oluşturalım

 

Bean dosyamız


package bean;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class HelloBean  implements Serializable{

	private static final long serialVersionUID = -4823295172962937652L;
	
	private String message = "www.atakancoban.com";

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}
	
}

 

Xhtml dosyası oluşturalım./src/main/webapp/index.xhtml

Oluşturduğumuz bean ile bir xhtml sayfamızı birleştirelim örnek mesaj gösterelim.

Tomcatin altına projemizi atalım. Ben port olarak 8082 kullandım

Ve RUN!

Merhaba JSF 🙂

Projenin kaynak kodları Github hesabımdadır. Buradan indirebilirsiniz.
Kolay gelsin 🙂

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir