Bu Sayfayı Paylaş:

Kavram

web.xml Dosyası

Tanım: Java web projelerinde WEB-INF klasörü içerisinde bulunan, proje ile ilgili konfigürasyon ve tanımlamaların yapıldığı dosya

Kavram

error-page Elementi

Tanım: Web projesi içinde bir hata oluştuğunda (Exception veya 404, 500 durumları) bir servlete veya sayfaya yönlendirme yapılabilmesi için web.xml içinde kullanılan element. "exception-type" veya "error-code" elementlerinden biri verilir ve hata olduğu durumda açılacak sayfa veya servlet "location" elementi ile verilmektedir

Kavram

error-code Elementi

Tanım: Web.xml dosyasında error-page elementi içinde hangi hata durumlarında (404, 500 gibi) hangi sayfaya veya servlet'e yönlendirme yapılacağını belirleyen element. error-page içinde ya error-code elementi ya da exception-type elementi kullanılmalıdır

Kavram

location Elementi

Tanım: Web.xml dosyasında error-page elementi içinde hangi exception oluştuğunda (exception class'ının tam adı verilmektedir) hangi sayfaya veya servlet'e yönlendirme yapılacağını belirleyen element. error-page içinde ya error-code elementi ya da exception-type elementi kullanılmalıdır

İpucu

The content of element type "web-app" must match Hatası

Eclipse web.xml'de elementlerin sıralarında hata olduğu zaman aşağıdaki gibi hata verebilmektedir:


The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-
param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-
list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-
entry*,ejb-ref*,ejb-local-ref*)".


Örneğin aşağıdaki gibi bir web.xml hata vermektedir.


<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
	<welcome-file-list>
		<welcome-file>index.xhtml</welcome-file>
	</welcome-file-list>
  	<display-name>VasClient Test Web Projesi</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>*.xhtml</url-pattern>
    </servlet-mapping>
</web-app>


Bu web.xml'de welcome-file-list elementini en alta alırsak bu hatanın kalktığını görebilirsiniz :


<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  	<display-name>VasClient Test Web Projesi</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>*.xhtml</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
		<welcome-file>index.xhtml</welcome-file>
	</welcome-file-list>    
</web-app>


Bu dökümanda sıranın "icon?,display-name?,description?,distributable?,context-
param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-
list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-
entry*,ejb-ref*,ejb-local-ref*" da belirtilen sıraya uymalıdır

Kavram

context-param

Tanım: Bir web uygulamasında key-value şeklinde parametre tanımlamak için kullanılan element.

İpucu

Web.xml'de Context Parameter Tanımlama

web.xml dosyasında bir context parametresi tanımlama aşağıdaki gibi yapılabilir:

	username
   	admin


	password
   	admin

Bu parametreye bir Servlet'ten aşağıdaki gibi erişilebilir:
String username=getServletContext().getInitParameter("username");
String password=getServletContext().getInitParameter("password");
JSF'de Managed Bean'den ise aşağıdaki gibi alınabilir:
String usernameP=FacesContext.getCurrentInstance().getExternalContext().getInitParameter("username");
String passwordP=FacesContext.getCurrentInstance().getExternalContext().getInitParameter("password");




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir