问题被描述为,在Apache httpd与resin集成的环境中,在rensin下的虚拟主机里,各种配置完好,可以访问.jsp文件,但却无法访问servlet文件,如userAction 或者 userAction.do 这样标记的路径。
通常情况下,在单主机的情况下,servlet-mapping既有全局性的在 resin 全局conf文件里,如 app-default.xml 或者 cluster-default.xml里,也有基于应用的在webapp/WEB-INF/web.xml里的。
在多虚拟主机的情况下,往往在 webapp/web.xml里的设置不起作用,如果是这样,就需要在resin的全局conf文件里做这样的配置。
其原因,导致能够解析.jsp文件,无法访问 servlet文件,是因为与Apache等前置服务器集成,直接访问 /aaBB 或者 /aaBB.do 等文件,直接被Apapche接收处理而没有转交到Resin,这样Resin也就无法获悉。
这就需要类似:
<servlet-mapping url-pattern=”*.do”
servlet-name=”resin-jsp”
default=”true”/>
这样的配置在resin的全局conf里,或者在项目的 webapp/WEB-INF/web.xml:
<servlet-mapping>
<servlet-name>resin-jsp</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
的设置。
测试验证码