基于Struts2框架技术在WEB项目中的应用

2014-07-18 08:22王昊
科学中国人 2014年4期
关键词:发送给配置文件过滤器

王昊

(东北农业大学成栋学院,黑龙江哈尔滨150030)

Struts2是一款扩展性很强的框架,它是由Strut开发团队和WebWork团队合作,共同开发的一个新的产品,新版本的Struts2更加容易使用,更加接近Struts2所追求的理念。从开发、部署到维护中效率的提高。

1.Struts2的优势

Struts2以WebWork优秀的设计思想为核心,吸收了Struts1的部分优点,建立了一个兼容WebWork和Struts1的MVC框架。在使用上与Struts1有着很大的不同,更接近WebWork的使用习惯,因为Struts2使用了WebWork的设计核心而不是Struts1的设计核心。Struts1与WebWork的优势互补使得Struts2拥有着更加广阔的前景。不仅Struts2自身更加强大,还对其他框架下开发的程序提供了很好的兼容性。

2.Struts2在WEB项目中应用

新建JAVA WEB项目,选择Struts2资源中lib下的jar文件,添加到项目,并在项目的“JAVA构建路径”中添加引用。

在项目中添加Struts2的支持后,就可以使用Struts2框架开发WEB应用程序了。

实现过程如下:

第一步,创建login.jsp页面,主要内容如下:

用户名:

密  码:

第二步,创建LoginAction类。用于对用户的请求做出处理,对于开发人员使用Struts2框架,主要是的编码工作就是编写处理请求的Action类,Action类通常都实现com.opensymphony.xwork.Action接口,并实现该接口中的execute()方法,Struts2中,所有的Action必须返回一个字符串类型的结果代码。

import com.opensymphony.xwork2.Action;

public class LoginAction implements Action{

private String username;//产生其get/set系列方法private Stringpassword;//产生其get/set系列方法public String execute()throws Exception{

return"success";

}

}

在Struts2中,可以直接使用Action类中的username属性来接收用户的输入,通过Struts2的数据绑定机制,传递username请求参数,其实等同于调用LoginAction的setUserName方法。

第三步,修改项目的配置文件web.xml,将全部请求定位到指定的Struts2过渡器中。

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepar⁃eAndExecuteFilter

struts2

/*

第四步,创建Struts2的配置文件,在src目录下创建Struts.xml文件。

在Struts2配置文件中,package元素用于定义Struts2处理请求的逻辑单元,name属性为必需的并且唯一,用来指定包的名称;ex⁃tends属性类似Java的extends关键字,用于指定要扩展的包。ac⁃tion元素用于配置Struts2框架的“工作单元”Action类,action元素将一个请求的URl(action的名字)对应到一个Action类,name属性是必须的,用来表示action的名字,class属性可选用于设定Action类的全限定名。Result元素用来设定Action类处理结束后,系统下一步将要做什么,name属性表示result的逻辑名,用于与Action类返回的字符串进行匹配,result元素的值用来指定这个结果对应的实际资源的位置。

最后一步,编译部署并启动服务器,访问login.jsp页面。

至此,已经基于Struts2的应用程序的实现。

3.Struts2应用小结

Struts2应用的执行流程为:浏览器发出login.action请求至服务器,Tomcat接收后,根据web.xml的配置,将请求发送给指定的Struts2过滤器,该过滤器根据struts.xml的配置内容,将请求发送给LoginAction类的对象,并调用默认的execute方法。然后根据execute方法的返回,匹配到login的结果,完成向login.jsp页面的跳转。页面根据上下文中的内容,进行页面的处理及显示。

猜你喜欢
发送给配置文件过滤器
基于Docker的实时数据处理系统配置文件管理软件的设计与实现
从Windows 10中删除所有网络配置文件
三步拆卸洋马YH880/1180 收割机变速箱内过滤器
用软件处理Windows沙盒配置文件
互不干涉混用Chromium Edge
提高中央空调高效过滤器使用寿命的几点思考
【微信小课堂】:如何向好友发送语音
污染控制—燃料电池的使能技术
你说我说大家说
新型纳米材料过滤器