<?xml version="1.0" encoding="UTF-8"?>
<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 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
  
	
	<!-- Spring Config - Start -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<listener>
		<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
	</listener>

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:spring-config.xml</param-value>
	</context-param>
	<context-param>
        <param-name>webapp.encoding.default</param-name>
        <param-value>UTF-8</param-value>
	</context-param>
	<!-- Spring Config - End -->
	
	<context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>resteasy.scan.providers</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>resteasy.scan.resources</param-name>
        <param-value>false</param-value>
    </context-param>
	
	
	<!-- Jersey Config - Start -->
	<servlet>
		<servlet-name>JerseyResources</servlet-name>
		<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
	  <init-param>
            <param-name>javax.ws.rs.Application</param-name> 
            <param-value>com.xxx.xxx.xxx.POBApplicationResourceConfig</param-value> 
        </init-param>
        <init-param>
		    <param-name>jersey.config.server.tracing.type</param-name> 
		    <param-value>ON_DEMAND</param-value> 
		</init-param>
		<init-param>
    		<param-name>jersey.config.server.provider.classnames</param-name>
   			 <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>JerseyResources</servlet-name>
		<url-pattern>/resources/*</url-pattern>
	</servlet-mapping>
	<!-- Jersey Config - End -->

	<filter>
		<filter-name>PreProcessingFilter</filter-name>
		<filter-class>com.xxx.xxx.xxx..PreProcessingFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>PreProcessingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<listener>
		<description>SessionListener</description>
		<listener-class>com.xxx.xxx.xxx.SessionListener</listener-class>
	</listener>
	
	<servlet>
		<servlet-name>FrameworkHttpErrorHandler</servlet-name>
		<servlet-class>com.xxx.xxx.xxx.FrameworkHttpErrorHandler</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>FrameworkHttpErrorHandler</servlet-name>
		<url-pattern>/HttpErrorHandler</url-pattern>
	</servlet-mapping>
	<error-page>
		<error-code>400</error-code>
		<location>/HttpErrorHandler</location>
	</error-page>
	<error-page>
		<error-code>500</error-code>
		<location>/HttpErrorHandler</location>
	</error-page>
	<error-page>
		<exception-type>java.lang.Exception</exception-type>
    	<location>/HttpErrorHandler</location>
	</error-page>
</web-app>