雖然注解很方便,簡單:
@RestSupport("/book/*/chapter/*")
但耦合性較強,每寫一個servlet都要添加上一個注解,想降低耦合或者URL經常變動者,可以試試使用XML進行配置:
<filter>
<filter-name>RestFilter</filter-name>
<filter-class>com.servlet.rest.RestFilter</filter-class>
<init-param>
<param-name>scanPackage</param-name>
<param-value>/servlets.xml,/servlets2.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>RestFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
為scanPackage參數添加需要傳入的XML文件即可,多個XML配置文件之間需要使用逗號隔開
我們再看看servlets.xml配置文件內容:
<?xml version="1.0" encoding="UTF-8"?>
<servlets>
<servlet>
<class>com.yong.test.servlet.xml.WelcomeServlet</class>
<url>/</url>
<url>/home/</url>
<url>/welcome/</url>
</servlet>
<servlet>
<class>com.yong.test.servlet.xml.UserHomeAction</class>
<url>/user/</url>
</servlet>
</servlets>
具體到單個servlet配置為
<servlet>
<class>servlet 類路徑</class>
<url>對應URL1</url>
<url>對應URL2</url>
</servlet>
其實很簡單的說,嗯,不要忘記xml一定要放在classpath相應位置。