虽然注解很方便,简单:
@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相应位置。