CAT 源码分析之入口
CAT 应用 首先是一个Web应用,web层主要的提供 后台系统配置 和 用户查询操作。
web应用的入口都是从 web.xml
开始的。
web.xml
web.xml工程目录
<?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_2_5.xsd" version="2.5"> <filter> <filter-name>cat-filter</filter-name> <filter-class>com.dianping.cat.servlet.CatFilter</filter-class> </filter> <filter> <filter-name>domain-filter</filter-name> <filter-class>com.dianping.cat.report.view.DomainFilter</filter-class> </filter> <servlet> <servlet-name>cat-servlet</servlet-name> <servlet-class>com.dianping.cat.servlet.CatServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>mvc-servlet</servlet-name> <servlet-class>org.unidal.web.MVC</servlet-class> <init-param> <param-name>cat-client-xml</param-name> <param-value>client.xml</param-value> </init-param> <init-param> <param-name>init-modules</param-name> <param-value>false</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <filter-mapping> <filter-name>cat-filter</filter-name> <url-pattern>/r/*</url-pattern> <dispatcher>REQUEST</dispatcher> </filter-mapping> <filter-mapping> <filter-name>domain-filter</filter-name> <url-pattern>/r/*</url-pattern> <dispatcher>REQUEST</dispatcher> </filter-mapping> <filter-mapping> <filter-name>cat-filter</filter-name> <url-pattern>/s/*</url-pattern> <dispatcher>REQUEST</dispatcher> </filter-mapping> <filter-mapping> <filter-name>cat-filter</filter-name> <url-pattern>/jsp/*</url-pattern> <dispatcher>FORWARD</dispatcher> </filter-mapping> <servlet-mapping> <servlet-name>mvc-servlet</servlet-name> <url-pattern>/r/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>mvc-servlet</servlet-name> <url-pattern>/s/*</url-pattern> </servlet-mapping> <jsp-config> <taglib> <taglib-uri>/WEB-INF/app.tld</taglib-uri> <taglib-location>/WEB-INF/app.tld</taglib-location> </taglib> </jsp-config> </web-app>
servlet
加载cat-servlet
的load-on-startup
的 第 1 位启动。mvc-servlet
的load-on-startup
的 第 2 位启动。mvc-servlet
对应的url-pattern
值有/s/*
/r/*
filter
过滤器注册domain-filter
是/r/*
cat-filter
配置url-pattern
有/r/*
/s/*
/jsp/*