Struts2中使用Servlet
今天在做一个Struts2的项目的时候,要使用到验证码,当时就去配置了web.xml中的servlet标签,结果在页面上不管怎么弄结果就是不显示出来,这个时候突然想到了可能是struts2中的过滤器惹的祸,顺便找了一些文章,最后把问题给解决了,下面我便列出3种解决方案:
1.这种方法很简单就是在struts2的过滤器的url配置成/*.*,当然这种方法其实并不可取!
2.改变下servlet的请求路径!
<servlet-mapping> <servlet-name>servlet</servlet-name> <url-pattern>/my.servlet</url-pattern> </servlet-mapping>
<servlet> <servlet-name>validate</servlet-name> <servlet-class>com.xxx.util.GeneratorValidateChar</servlet-class> </servlet> <servlet-mapping> <servlet-name>validate</servlet-name> <url-pattern>/validate</url-pattern> </servlet-mapping>
package com.xxx.actions; public class GotchaGraphics implements Action { public String execute(){ return SUCCESS; } }<package name="common" namespace="/" extends="struts-default"> .... <action name="graphics" width="60" height="20"/>,这样就可以用servlet了。
非常感谢啊,昨晚就搞定了,用的是第二种方法!