Welcome to my Tomcat tutorials website!

giovedì 8 gennaio 2009

Tomcat web xml reference

According to the Servlet 2.4 specification, every Web application should include a deployment descriptor (web.xml file). This file must be placed in the WEB-INF/ directory of the Web application.

There is also a web.xml file under the $CATALINA_HOME/conf directory. This file is similar to a Web application’s web.xml file. However, this particular web.xml file is used to specify the default properties for all Web applications that are running within this server instance.

Be very careful when making modifications to this file (such as any additions or changes) because they will affect all Web applications running on the same server instance. Note also that other application servers may or may not support a global default web.xml, as this is not a requirement for Servlet 2.4 standard compliance.





Web.xml can be formally validated against a schema:
<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 web-app_2_4.xsd"
version="2.4">

</web-app>

How to add a new Servlet mapping ?
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>sample.TestServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/sample</url-pattern>
</servlet-mapping>

How to add a parameter to your Context ?

<context-param>
<param-name>username</param-name>
<param-value>frank</param-value>
<description>parameter description</description>
</context-param>

String username = getServletContext().getInitParameter("username");
How to flag a web application as clusterable ?

<distributable/>

How to add an EJB reference in your web.xml ?

<ejb-ref>
<description>Sample EJB</description>
<ejb-ref-name>SampleBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.SampleHome</home>
<remote>com.Sample</remote>
</ejb-ref>

How to add a reference to an environment variable ?
<env-entry>
<env-entry-name>envVar</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>15</env-entry-value>
</env-entry>

How to direct errors to error pages ?

<error-page>
<error-code>404</error-code>
<location>/myApp/jsp/notFound.jsp</location>
</error-page>

How to add a filter to your web.xml ?
<filter>
<filter-name>Compression Filter</filter-name>
<filter-class>compressionFilters.CompressionFilter</filter-class>
<init-param>
<param-name>compressionThreshold</param-name>
<param-value>10</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>Compression Filter</filter-name>
<url-pattern>/CompressionTest</url-pattern>
</filter-mapping>

How to reference a tag lib ?

<jsp-config>
<taglib>
<taglib-uri>http://jakarta.apache.org/tomcat/examples-taglib</taglib-uri>
<taglib-location>/WEB-INF/jsp/example-taglib.tld</taglib-location>
</taglib>
</jsp-config>

How to add a Context/Session listener ?

<listener>
<listener-class>listeners.ContextListener</listener-class>
</listener>
<listener>
<listener-class>listeners.SessionListener</listener-class>
</listener>


  • Here's an example how to use SessionListeners:
http://tomcat-configure.blogspot.com/2009/01/tomcat-session-listener-example.html
  • Here's an example how to use ContextListeners:
http://tomcat-configure.blogspot.com/2009/01/tomcat-context-listener-example.html

How to secure your application with JAAS ?

<login-config>
<auth-method>FORM</auth-method>
<realm-name>Example Form-Based Authentication Area</realm-name>
<form-login-config>
<form-login-page>/security/protected/login.jsp</form-login-page>
<form-error-page>/security/protected/error.jsp</form-error-page>
</form-login-config>
</login-config>


<security-constraint>
<display-name>Example Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>

<url-pattern>/security/protected/*</url-pattern>

<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>

</web-resource-collection>
<auth-constraint>

<role-name>tomcat</role-name>
<role-name>role1</role-name>
</auth-constraint>
</security-constraint>


<security-role>
<role-name>role1</role-name>
</security-role>
<security-role>
<role-name>tomcat</role-name>
</security-role>


How to add a MIME mapping to your web.xml ?

<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>

How to add a reference to a Datasource ?

<!-- JDBC DataSources (java:comp/env/jdbc) -->
<resource-ref>
<description>The default JDBC datasource</description>
<res-ref-name>jdbc/DefaultDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

How to configure the session timeout ?


<session-config>
<session-timeout>30</session-timeout>
</session-config>

How to add a welcome file list ?

<welcome-file-list>
<welcome-file>index.jsp<welcome-file>
<welcome-file>index.html<welcome-file>
<welcome-file>home.html<welcome-file>
</welcome-file-list>

Nessun commento:

Posta un commento