网上有的是修改$CATALINA_HOME/conf/web.xml来做到这一点,可我不想每个工程都有ssi的功能,所以想把它移植进单个应用。
做法如下:
1. copy必要的jar包:
$CATALINA_HOME/server/lib/servlets-ssi.renametojar重新命名为servlets-ssi.jar拷贝到你工程的/WEB-INF/lib下面。
$CATALINA_HOME/server/lib/catalina-optional.jar , $CATALINA_HOME/server/lib/catalina.jar也考到你的工程里面去。
2. 新建class 继承
org.apache.catalina.ssi.SSIServlet
这里我建立了一个mypackage.SSIServlet
拷贝以下到工程的web.xml里面:
<!-- ssi servelet --> <servlet> <servlet-name>myssi</servlet-name> <servlet-class> mypackage.SSIServlet </servlet-class> <init-param> <param-name>buffered</param-name> <param-value>1</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>expires</param-name> <param-value>666</param-value> </init-param> <init-param> <param-name>isVirtualWebappRelative</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>inputEncoding</param-name> <param-value>utf-8</param-value> </init-param> <init-param> <param-name>outputEncoding</param-name> <param-value>utf-8</param-value> </init-param> <load-on-startup>4</load-on-startup> </servlet> <servlet-mapping> <servlet-name>myssi</servlet-name> <url-pattern>*.shtml</url-pattern> </servlet-mapping>
重新启动Tomcat