webWork2.2的简单配置介绍!
2007-04-03 12:49
477 查看
很长时间没写笔记了,研究了一段时间的webwork,今天写点学习笔记之类的东西。
Webwork是一个MVC框架,和其他MVC框架一样,分离web开发中的,控制,模型和视图。个人感觉,她的配置更加简单和优雅,更容易新人上手。同时,业务逻辑也更加清晰,对软件的维护和扩展有很大的帮助。(有多少帮助也不是很清楚,还是讲讲配置把!)
需要的包,去baidu或者google都能找到很多。现在常用的版本是2.2.4。2.1版本和2.2版本还是有不少区别,如果想学习,还是多看看介绍2.2的教程。
建立工程,加载所需要的包就不说了。
看下重要的配置文件把:
Web.xml 配置核心控制器:
<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>
可说的也没多少,照这例子配置的,那个*.action是你要处理的文件的后缀名,例如提交的表单中的action=”*.action” 这样就可以调用指定的处理类了。
WEB-INF/classes 目录下:xwork.xml. 配置action的地方。
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<action name="testAction" class="testAction" method="test">
<result name="success">/view.jsp</result>
</action>
</package>
</xwork>
具体的action配置规范可以参考 相关文档。
重点说两个有用的东东,第一个是拦截器,第二个是视图技术。
拦截器能过滤很多东西,例如:你表单中的参数是否合法等。简化你的编码工作。
视图就不说了,jsp,pdf,自定义标签等。Webwork都支持,其中官方还推进一种模版技术,freemarker。(这个还在研究中,很不错的东西。)
下面来看看action怎么写。
import com.opensymphony.xwork.Action;
import com.opensymphony.xwork.ActionSupport;
public class LoginAction extends ActionSupport implements Action {
// 必需进行初始化
private User user = new User();
public User getUser() {
return user;
}
public String execute() throws Exception {
// 可以在这里调用Service层来进行验证,这里只验证用户名
if (user.checkResult(user.getUserName(),user.getUserPwd()))
return this.SUCCESS;
else
return this.ERROR;
}
}
这个是model类的例子:
public class User {
private String userName;
private String userPwd;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public static void main(String[] args) {
// TODO 自动生成方法存根
}
public boolean checkResult(String userName,String userPwd){
String username=userName;
String userpwd=userPwd;
if(username.equals("totti")||userpwd.equals("totti")){
return true;
}
return false;
}
}
需要提交的表单:
<form id="loginForm" name="myForm" method="post" action="login.action" >
用户名:
<label>
<input type="text" name="user.userName" />
</label>
<p>密码:
<label>
<input type="text" name="user.userPwd" />
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</p>
</form>
配置的action
<action name="login" class="webWork.LoginAction">
<!-- 这里的意思是登录成功后跳转到 /ok.jsp 页面 -->
<result name="success" type="dispatcher">
<param name="location">/view/ok.jsp</param>
</result>
<!-- 登录失败后则返回登录页 -->
<result name="error" type="dispatcher">
<param name="location">/view/err.jsp</param>
</result>
<result name="input" type="dispatcher">
<param name="location">/view/login.jsp</param>
</result>
<!-- 此段代码为作用是将request请求的参数传递到 action 中 -->
<interceptor-ref name="params" />
<interceptor-ref name="validationWorkflowStack"/>
</action>
可以看到,提交过来的数据会被设置器方法设置,在model中实现数据的处理,然后返回给控制器。
上面给出的是代码的片段,应该不能直接正常运行。如果想得到范例代码,就留下联系方式,我会给你发一份代码的。
下次,会介绍下webWork +spring 的配置方式,利用spring动态注入action是对action管理的最佳解决方案。
Webwork是一个MVC框架,和其他MVC框架一样,分离web开发中的,控制,模型和视图。个人感觉,她的配置更加简单和优雅,更容易新人上手。同时,业务逻辑也更加清晰,对软件的维护和扩展有很大的帮助。(有多少帮助也不是很清楚,还是讲讲配置把!)
需要的包,去baidu或者google都能找到很多。现在常用的版本是2.2.4。2.1版本和2.2版本还是有不少区别,如果想学习,还是多看看介绍2.2的教程。
建立工程,加载所需要的包就不说了。
看下重要的配置文件把:
Web.xml 配置核心控制器:
<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>
可说的也没多少,照这例子配置的,那个*.action是你要处理的文件的后缀名,例如提交的表单中的action=”*.action” 这样就可以调用指定的处理类了。
WEB-INF/classes 目录下:xwork.xml. 配置action的地方。
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<action name="testAction" class="testAction" method="test">
<result name="success">/view.jsp</result>
</action>
</package>
</xwork>
具体的action配置规范可以参考 相关文档。
重点说两个有用的东东,第一个是拦截器,第二个是视图技术。
拦截器能过滤很多东西,例如:你表单中的参数是否合法等。简化你的编码工作。
视图就不说了,jsp,pdf,自定义标签等。Webwork都支持,其中官方还推进一种模版技术,freemarker。(这个还在研究中,很不错的东西。)
下面来看看action怎么写。
import com.opensymphony.xwork.Action;
import com.opensymphony.xwork.ActionSupport;
public class LoginAction extends ActionSupport implements Action {
// 必需进行初始化
private User user = new User();
public User getUser() {
return user;
}
public String execute() throws Exception {
// 可以在这里调用Service层来进行验证,这里只验证用户名
if (user.checkResult(user.getUserName(),user.getUserPwd()))
return this.SUCCESS;
else
return this.ERROR;
}
}
这个是model类的例子:
public class User {
private String userName;
private String userPwd;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public static void main(String[] args) {
// TODO 自动生成方法存根
}
public boolean checkResult(String userName,String userPwd){
String username=userName;
String userpwd=userPwd;
if(username.equals("totti")||userpwd.equals("totti")){
return true;
}
return false;
}
}
需要提交的表单:
<form id="loginForm" name="myForm" method="post" action="login.action" >
用户名:
<label>
<input type="text" name="user.userName" />
</label>
<p>密码:
<label>
<input type="text" name="user.userPwd" />
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</p>
</form>
配置的action
<action name="login" class="webWork.LoginAction">
<!-- 这里的意思是登录成功后跳转到 /ok.jsp 页面 -->
<result name="success" type="dispatcher">
<param name="location">/view/ok.jsp</param>
</result>
<!-- 登录失败后则返回登录页 -->
<result name="error" type="dispatcher">
<param name="location">/view/err.jsp</param>
</result>
<result name="input" type="dispatcher">
<param name="location">/view/login.jsp</param>
</result>
<!-- 此段代码为作用是将request请求的参数传递到 action 中 -->
<interceptor-ref name="params" />
<interceptor-ref name="validationWorkflowStack"/>
</action>
可以看到,提交过来的数据会被设置器方法设置,在model中实现数据的处理,然后返回给控制器。
上面给出的是代码的片段,应该不能直接正常运行。如果想得到范例代码,就留下联系方式,我会给你发一份代码的。
下次,会介绍下webWork +spring 的配置方式,利用spring动态注入action是对action管理的最佳解决方案。
相关文章推荐
- 2.2、Docker-1.12 简单配置以及驱动介绍[三]
- Spring的AOP简单介绍和常用配置(3)-事务配置
- 权限控制框架Shiro简单介绍及配置实例
- Spring的AOP简单介绍和常用配置(1)
- 一个超级简单的dwr配置文件,介绍了dwr最常用的几个标签(转)
- Hive 基本原理 及其个元素和配置文件的简单介绍
- Yarn简单介绍及内存配置
- DAVE4中的时钟配置与简单原理介绍
- Ubuntu 12.04下安装vim, 简单配置与基本使用介绍
- CI框架的配置和MVC的简单介绍
- HTTP服务端接口模拟工具-HttpServerMockTool 1 工具功能介绍 这个工具可以通过简单的配置达到快速模拟第三方HTTP服务端接口的作用,替代以前要手写servlet代码再放到to
- hello_world-2.2之简单设备驱动模型(二)---device,bus,driver结构介绍
- Robot Framework 的安装配置和简单的实例介绍
- dubbo配置简单介绍
- squid介绍及其简单配置
- squid介绍及其简单配置
- Nginx简单介绍以及安装与配置
- Yarn简单介绍及内存配置
- spring的简单介绍及简单配置