WebWork实现用户的登陆收藏
新一篇: J2SE IO 流复习 | 旧一篇: Struts+Hibernate+Spring 集成
主要实现如下功能:1、login.jsp中就name,password字段
2、用户名与密码不能为空!如果空给予提示(使用Webwork验证,国际化)
2、当用户名为:xiaomaha密码为123跳转到seccess.jsp页面否则跳转到defeat.jsp页面
第一步: 导包
版本为: webwork-2.2.5
http://www.opensymphony.com/webwork 可以下载所需要的包
1、webwork-2.2.5.jar
2、lib目录下default中的所有包
第二步:配置web.xml
com.opensymphony.webwork.dispatcher.FilterDispatcher 为WebWork中的Servlet控制器






















Filter是一个过滤器,页面以*.action的请求都交给WebWork的servlet控制器
第三步: 创建Action
首先创建一个Action,WebWork中Action其实就是一个普通的JAVA类。只要写一个execute()方法 返回
String类型,在配置文件定义它.那么它就是一个Action。相当与Struts1中的Action!WebWork实现了与Servlet解偶合,方便测试`本人特别喜欢!!
但是如果需要方便的开发那么继承ActionSupport,覆写它的execute()注意它的返回值是一个String,不是一个ActionForword
WebWork中可以使用两中方法实现验证
1、在Action中继承ActionSupport,覆写validate()方法(本人给予注释了!)
2、配置文件实现,本例使用配置文件, 注意必须将验证的配置文件写到与自定义Action同包下!






















































第四步: 创建xwork.xml
xwork.xml有点像Struts1中的struts-config.xml
xwork.xml文件必须放在类路径下 WEB-INF/classes/ 之下
WebWork的Servlet控制器会去找到它并解析它,路径一定不要放错了,名字一定不要错!
还要提示注意,在WebWork中所有的Action标签必须在package标签下,package是action的父标签
<include file="webwork-default.xml"></include>会去找到WebWork中JAR文件中的webwork-default.xml,必写
















<result name="success">/success.jsp</result> 如果Action中的execute()方法返回success字符串那么,跳转到success.jsp页面中
<result name="input">/login.jsp</result> 和Struts1中的input一样都是显示错误消息,但在WebWork中不需要定义返回错误的标签。因为WebWork中定义的标签 中<w:form>已经实现了错误验证
第五步: 验证配置文件
在自定义的Action 同包下建立一个与Action一样名字+validation.xml文件
例如: Action:LoginAction.java
配置文件:LoginAction-validation.xml















requiredstring 代表:不能为空,是必须的
第六步:创建国际化资源文件
创建一个Message.properties ,里面不能写中文。
需要在dos窗口中进行转码
命令为native2ascii Message.properties Message.properties_zh_cn.properties 就生成了一个新的文件,删除Message.properties
浏览器如果为中文,那么它会找到 Message.properties_zh_cn.properties ,为了方便我就不定义其它语言的配置文件咯!
提示:Message 可以任意修改 !
例:比如需要定义支持英语的可以这样写 Message_en_US.properties
Message.properties_zh_cn.properties如下:
name.null = /u7528/u6237/u540d/u4e0d/u80fd/u4e3a/u7a7a/uff01
pass.null = /u5bc6/u7801/u4e0d/u80fd/u4e3a/u7a7a/uff01
pass.null = /u5bc6/u7801/u4e0d/u80fd/u4e3a/u7a7a/uff01
最后一步:加载上面的资源文件
在类路径下创建 webwork.properties ,WebWork会在类路径找到它并且解析它!
里面添加如下:
webwork.custom.i18n.resources=Message
Ok一切搞定咯