29 Ekim 2016 Cumartesi

web.xml

context-param tag
Bu parametre servlet ayağa kalkarken okunuyor ve ServletContext arayüzüne yerleşiyor. How to get context-param value in java? sayfasında konuyla ilgili örnek var. Spring gibi bazı çatı yapıları belli isimdeki parametrelerin kullanılmasını gerektiriyor. Örneğin contextConfigLocation

<!-- Configure spring -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/applicationContext.xml
        /WEB-INF/applicationContext-security.xml
        /WEB-INF/applicationContext-integration.xml
    </param-value>
</context-param>

Bir başka örnekte ise xml dosyasına tam path te verilmeden başlatılıyor.

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:beans.xml</param-value>
</context-param>


filter tag
Uygulamaya sadece belli IP'lerin erişmesini istersek şöyle yaparız.
<filter>
  <filter-name>Remote Address Filter</filter-name>
  <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
  <init-param>
    <param-name>allow</param-name>
    <param-value>127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>Remote Address Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
listener tag
ServletContextListener sınıfları bu tag ile tanıtılıyor.

servlet tag
Servlet sınıflarını tanımlıyor. Şöyle  yaparız:
<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 tag
Yukarıda tanımlanan servlet sınıfını ile servletin hizmet edeceği url adreslerini eşleştiriyor. Eşleştirme için servlete verilen ismin kullanıldığına dikkat etmek lazım. Örnek:
<servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
Servlet mapping kuralları şöyle. Bu kurallardan sadece '/' verileni ilginç.

  • A string beginning with a ‘/’ character and ending with a ‘/*’ suffix is used for path mapping.
  • A string beginning with a ‘*.’ prefix is used as an extension mapping.
  • The empty string ("") is a special URL pattern that exactly maps to the application's context root, i.e., requests of the form  http://host:port/<contextroot>/. In this case the path info is ’/’ and the servlet path and context path is empty string (““).
  • A string containing only the ’/’ character indicates the "default" servlet of the application. In this case the servlet path is the request URI minus the context path and the path info is null.
  • All other strings are used for exact matches only
web-app tag
Bu dosyada servlet spec'inden hangisini kullanacağımızı belirtiyoruz. Örneğin spec 2.4 kullanılabilir.
 3.0 içinse aşağıdaki tanımlama lazım.
<web-app 
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    httpp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0">
welcome-file-list tag
Uygulama ilk açılırken gösterilecek sayfayı tanımlıyor. Şöyle yaparız:


<welcome-file-list>
  <welcome-file>index.xhtml</welcome-file>
</welcome-file-list>

Hiç yorum yok:

Yorum Gönder