博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
steps1-->Struct2-控制器组件
阅读量:5058 次
发布时间:2019-06-12

本文共 1198 字,大约阅读时间需要 3 分钟。

   所有MVC框架都是以控制器组件为核心的,struts2也是如此。

   Struts 2的控制器由两个部分组成:FilterDispatcher和业务控制器Action。

 值得注意的是:实际上,Struts 2应用中起作用的业务控制器不是用户定义的Action,而是系统生成的Action代理,但该Action代理以用户定义的Action为目标。

public class LoginAction{	//封装用户请求参数的username属性	private String username;	//封装用户请求参数的password属性	private String password;	//username属性的getter方法	public String getUsername()	{		return username;	}	//username属性的setter方法	public void setUsername(String username)	{		this.username = username;	}	//password属性的getter方法	public String getPassword()	{		return password;	}	//password属性的setter方法	public void setPassword(String password)	{		this.password = password;	}	//处理用户请求的execute方法	public String execute() throws Exception	{		//如果用户名为scott,密码为tiger,则登录成功		if (getUsername().equals("scott")		&& getPassword().equals("tiger"))		{			return "success";		}		else		{			return "error";		}	}}

 

通过查看上面的Action代码,发现该Action比WebWork中的Action更彻底,该Action无需实现任何父接口,无需继承任何Struts 2基类,该Action类完全是一个POJO(普通、传统的Java对象),因此具有很好的复用性。

归纳起来,该Action类有如下优势: —  Action类完全是一个POJO,因此具有很好的代码复用性。 —  Action类无需与Servlet API耦合,因此进行单元测试非常简单。 —  Action类的execute方法仅返回一个字符串作为处理结果,该处理结果可映射到任何的视图,甚至是另一个Action。

转载于:https://www.cnblogs.com/GenghisKhan/archive/2012/01/06/2313926.html

你可能感兴趣的文章
FZU 1914 Funny Positive Sequence(线性算法)
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
基于grunt构建的前端集成开发环境
查看>>
MySQL服务读取参数文件my.cnf的规律研究探索
查看>>
java string(转)
查看>>
__all__有趣的属性
查看>>
BZOJ 5180 [Baltic2016]Cities(斯坦纳树)
查看>>
写博客
查看>>
利用循环播放dataurl的视频来防止锁屏:NoSleep.js
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
ios封装静态库技巧两则
查看>>
Educational Codeforces Round 46 (Rated for Div. 2)
查看>>
Abstract Factory Pattern
查看>>
C# 实现Bresenham算法(vs2010)
查看>>
基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装
查看>>
list 容器 排序函数.xml
查看>>
存储开头结尾使用begin tran,rollback tran作用?
查看>>
Activity启动过程中获取组件宽高的五种方式
查看>>
java导出Excel表格简单的方法
查看>>