<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>validationcodeServlet</servlet-name>
<servlet-class>
com.morik.util.ValidationCodeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>validationcodeServlet</servlet-name>
<url-pattern>/IMG.action</url-pattern>
</servlet-mapping>
两种不同颜色的出错了,是不是冲突了,<filter-name>与<servlet-name>不会是一个意思,要写到一起吧,前辈们指点一下
因为你把servlet的访问url用“img.action”这种方式时,它会被struts的过滤器拦截,而实际上它并不是一个Action。
不太明白你的意思。上面的过滤器设置是针对struts的,如果你action访问的模式是*.action的话,这里的过滤器匹配设置成:
[code="java"]
filter-mapping>
struts2
*.action
[/code]
没有必要所有的请求都经过该过滤器。而servlet的匹配模式可以和action分开:
[code="java"]
validationcodeServlet
/IMG
[/code]
你写的web.xml没有错误啊,是不是jar的问题