Struts2+Servlet

今天在做一个Struts2的项目的时候,要使用到验证码,当时就去配置了web.xml中的servlet标签,结果在页面上不管怎么弄结果就是不显示出来,这个时候突然想到了可能是struts2中的过滤器惹的祸,顺便找了一些文章,最后把问题给解决了,下面我便列出3种解决方案:
1.这种方法很简单就是在struts2的过滤器的url配置成/*.*,当然这种方法其实并不可取!
2.改变下servlet的请求路径!
Xml代码
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/my.servlet</url-pattern>
</servlet-mapping>

就可以用 http://localhost:8080/xxx/my.servlet
3.定义一个action用来转发servlet请求!

例如定义了一个servlet:
Xml代码
<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>

如果你在页面中使用该servlet,则要用action转发到<url-pattern>/validate</url-pattern>
的路径/tu.

如你的页面里有个 <img>元素来显示图片,如果使用<img src="tu" width="60" height="20"/>肯定不行,你必须定义一个action 如

Java代码
package com.xxx.actions;
public class GotchaGraphics implements Action {
public String execute(){
return SUCCESS;
}
}

然后在struts.xml中配置该Action
Xml代码
<package name="common" namespace="/" extends="struts-default">
....
<action name="graphics" class="com.xxx.actions.GotchaGraphics">
<result>/validate</result>
</action>
....
</package>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值