千家信息网

WebWork如何实现用户登陆

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要为大家展示了"WebWork如何实现用户登陆",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"WebWork如何实现用户登陆"这篇文章吧。WebW
千家信息网最后更新 2026年10月31日WebWork如何实现用户登陆

这篇文章主要为大家展示了"WebWork如何实现用户登陆",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"WebWork如何实现用户登陆"这篇文章吧。

WebWork用户登陆主要实现如下功能:

1、login.jsp中就name,password字段

2、用户名与密码不能为空!如果空给予提示(使用Webwork验证,国际化)

2、当用户名为:xiaomaha密码为123跳转到seccess.jsp页面否则跳转到defeat.jsp页面

WebWork用户登陆***步:导包

版本为:webwork-2.2.5

http://www.opensymphony.com/webwork

可以下载所需要的包

1、webwork-2.2.5.jar

2、lib目录下default中的所有包

WebWork用户登陆第二步:配置web.xml

com.opensymphony.webwork.dispatcher.FilterDispatcher 为WebWork中的Servlet控制器

〈?xmlversion="1.0"encoding="UTF-8"?〉  〈web-appversion="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"〉  〈filter〉  〈filter-name〉webwork〈/filter-name〉  〈filter-class〉  com.opensymphony.webwork.dispatcher.FilterDispatcher  〈/filter-class〉  〈/filter〉  〈filter-mapping〉  〈filter-name〉webwork〈/filter-name〉  〈url-pattern〉*.action〈/url-pattern〉  〈/filter-mapping〉  〈/web-app〉

Filter是一个过滤器,页面以*.action的请求都交给WebWork的servlet控制器

WebWork用户登陆第三步:创建Action

首先创建一个Action,WebWork中Action其实就是一个普通的JAVA类。

只要写一个execute()方法 返回

String类型,在配置文件定义它.那么它就是一个Action。相当与Struts1中的Action!WebWork实现了与Servlet解偶合,方便测试`本人特别喜欢!!

但是如果需要方便的开发那么继承ActionSupport,覆写它的execute()注意它的返回值是一个String,不是一个ActionForword

WebWork中可以使用两中方法实现验证

1、在Action中继承ActionSupport,覆写validate()方法(本人给予注释了!)

2、配置文件实现,本例使用配置文件,注意必须将验证的配置文件写到与自定义Action同包下!

package com.xiaomaha.action;  import com.opensymphony.xwork.ActionSupport;  public class LoginAction extends   ActionSupport ...  {  private String userName;  private String passWord;  public String getPassWord() ...  {  return passWord;  }  public void setPassWord(String passWord) ...  {  this.passWord = passWord;  }  public String getUserName() ...{  return userName;  }  public void setUserName(String userName) ...  {  this.userName = userName;  }  public String execute() throws Exception ...  {  String path = null ;   if("xiaomaha".equalsIgnoreCase(this.userName)&&"123".  equals(this.passWord))...{  path =this.SUCCESS;  }else...{  path =this.ERROR;  }  return path;  }  //public void validate() {  //if("".equals(this.userName)||this.userName==null){  ///*addFieldError()相当与Struts1中的ActionErrors*  // * 如果要实现国际化那么需要getText()它用于读取资源文件  // * getText("name.null")对应资源文件中的key,它会找到value  // */  //this.addFieldError("userName", getText("name.null"));  //}  //  //if("".equals(this.passWord)||this.passWord==null){  //this.addFieldError("passWord", getText("pass.null"));  //}  //}  }

WebWork用户登陆第四步:创建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,  必写 〈 !DOCTYPE xwork PUBLIC   "-//OpenSymphony Group//XWork 1.1.1//EN"   "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd"〉   〈 xwork〉   〈 !-- include加载webwork中的webwork-default.xml  是必须的不然会抛出  servlet jsp threw exception   --〉   〈 include file="webwork-default.xml"〉 〈 /include〉   〈 package name="webworkdemo" extends="webwork-default"〉   〈 action name="login"   class="com.xiaomaha.action.LoginAction"〉   〈 result name="success"〉 /success.jsp〈 /result〉   〈 result name="error"〉 /error.jsp〈 /result〉   〈 result name="input"〉 /login.jsp〈 /result〉   〈 /action〉   〈 /package〉   〈 /xwork〉
〈 result name="success"〉 /success.jsp〈 /result〉

如果Action中的execute()方法返回success字符串那么,跳转到success.jsp页面中

〈 result name="input"〉 /login.jsp〈 /result〉

和Struts1中的input一样都是显示错误消息,但在WebWork中不需要定义返回错误的标签。

因为WebWork中定义的标签中〈 w:form〉 已经实现了错误验证

WebWork用户登陆第五步:验证配置文件

在自定义的Action同包下建立一个与Action一样名字+validation.xml文件

例如:

Action:LoginAction.java

配置文件:LoginAction-validation.xml

〈 ?xml version="1.0" encoding="UTF-8"?〉  〈 !DOCTYPE validators PUBLIC   "-//OpenSymphony Group//XWork Validator 1.0//EN"   "http://www.opensymphony.com/xwork/  xwork-validator-1.0.dtd" 〉  〈 validators〉  〈 field name="userName"〉  〈 field-validator type="requiredstring" 〉  〈 message key="name.null"〉〈 /message〉  〈 /field-validator〉  〈 /field〉  〈 field name="passWord"〉  〈 field-validator type="requiredstring"〉  〈 message key="pass.null"〉〈 /message〉  〈 /field-validator〉  〈 /field〉  〈 /validators〉

name.null 、pass.null 对应资源文件的key

requiredstring 代表:不能为空,是必须的

WebWork用户登陆第六步:创建国际化资源文件

创建一个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

WebWork用户登陆***一步:加载上面的资源文件

在类路径下创建 webwork.properties ,WebWork会在类路径找到它并且解析它!

里面添加如下:

webwork.custom.i18n.resources=Message

以上是"WebWork如何实现用户登陆"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 用户 登陆 配置 标签 资源 验证 方法 路径 页面 内容 国际 控制器 篇文章 错误 控制 提示 名字 密码 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苏州找大状互联网科技有限公司 互联网科技会 智能科技公司是互联网公司吗 互联网科技公司发展 互联网与新科技 上海喔噻互联网科技 广西互联网科技公司 上游互联网科技 济南华为互联网科技产业总部基地 移动互联网科技股 栖莱科技互联网股份有限公司 语蝶互联网科技有限公司 互联网科技和信息 中国互联网十大科技股排名 民营互联网公司国防科技 乌鲁木齐新华智原互联网科技学校 高科技互联网发展前景如何 互联网科技手机排行榜 广州全民伙伴互联网科技有限公司 颐高云石互联网科技 广州互联网科技公司 鑫亿盛互联网科技 北京互联网络科技有限公司 互联网科技ppt模板 互联网科技寓意 崇明区互联网教育科技售后服务 互联网科技产业特征 长沙茂晟互联网科技有限公司 唐山双旺合互联网科技产业园 陕西彩京云互联网科技有限公司
0