Struts2框架示例.docx
《Struts2框架示例.docx》由会员分享,可在线阅读,更多相关《Struts2框架示例.docx(27页珍藏版)》请在冰豆网上搜索。
Struts2框架示例
以下是Apache官方网站对Struts2的特性介绍
1、开发方面
(1)容易上手–从教程和模版程序或者Maven原型可以很容易的开发出新项目。
(2)改进的设计–清晰的代码设计对应着独立于HTTP的框架接口。
(3)增强的标签(Tag)-使用样式表驱动的表单标签以及所提供的标签可以减少编码量。
(4)有状态的复选框(Checkbox)-避免了特殊的处理代码,职能复选框能感知自己的状态何时被切换。
(5)灵活的取消按钮–取消时直接转向另一个操作(action)。
(6)最好的AJAX支持–通过使用和标准Struts标签观感一致的AJAX标签,可以增加交互性和灵活性。
(7)方便的Spring集成–使用Spring向Action中注入依赖关系,无需编写额外的连接代码或者其它配置。
(同时支持Plexus?
)
(8)增强的表示层展示–可以将处理结果以JasperReports,JFreeChart,Action链,或者文件下载的方式展示。
(9)POJO表单–不需要ActionForm!
可以使用任何JavaBean来捕获输入或者直接将属性设置到Action类上。
可以同时使用二进制和字符串类型的属性!
(10)POJOAction–使用任何类作为Action类–甚至接口也是可选的!
Struts2是一个标准的Command模式框架实现,并且完全从web层脱离出来。
Xwork提供了很多核心功能:
前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL–theObjectGraphNotationLanguage),IoC(InversionofControl依赖倒转控制)容器等。
2、发布方面
(1)方便的插件机制–添加JAR文件即可添加框架扩展。
无需人工配置!
捆绑的插件提供对JavaServerFaces,JasperReports,JFreeChart,Tiles......等众多框架的支持。
(2)内置调优–查看Struts2内部,找到死循环的位置!
(3)准确的错误汇报–直接跳转到错误的位置和行号。
3、维护方面
(1)便于测试的Action–可以直接测试Struts2Action,无虚依赖任何模拟的HTTP对象。
(2)聪明的默认值–跳过明显的或者多余的设置。
大多数框架的配置元素都有默认值可以使用,我们可以忘记它。
只需要配置一次!
(3)容易自定义的控制器–需要时可以自定义每个Action的请求处理。
Struts2可以用你需要的方式来工作!
(4)内置调试–使用内置调试器可以生成问题报告。
(5)易于调整的标签–修改FreeMarker模版即可自定义标签。
不需要再学习taglibAPI!
完全支持JSP,FreeMarker,以及Velocity标签。
4、Web层需要解决的问题:
(1)数据的输入。
如何获得基于无状态HTTP的请求数据?
如何将请求的字符数据转换为对应的模型对象?
(2)输入数据的验证。
如何验证输入数据的合法性并给出明确的错误消息提示?
(3)数据的输出。
如何展现复杂的对象结构?
如何处理复杂的展现逻辑?
(4)数据的传递和共享。
如何在不同的请求或页面之间传递和共享数据?
(5)页面的流程管理。
如何管理Web应用中的页面流程?
(6)模块化的管理。
如何将复杂的Web应用以模块化的方式管理?
(7)灵活可扩展的架构。
如何支持各种不同的展现层技术?
如何与业务层或数据层的各种框架整合?
(8)安全和访问控制的管理。
如何提供基于Web的安全机制和资源访问控制的管理?
(9)代码实现的简洁和高效。
如何让开发步骤和代码维护变得简单?
如何尽量减少开发的中间环节?
如何将公共的功能剥离出来,并可以灵活的组装应用?
(10)其它问题。
异步调用、国际化支持、文件上传、防止重复提交等等。
Struts2系统库
1、下载Struts2系统包
目前MyEclipse6对Struts2的开发还没有提供任何直接的支持,所以不得不手工加入相关的系统jar包文件来开发。
(1)首先从Apache网站上下载struts2.0.1的完整包(FullDistribution),可以从这里下载:
http:
//struts.apache.org/downloads.html。
(2)解压后能够看到下面的各个文件
(3)其中的lib目录为系统包文件(包括了Struts2的全部核心类库和依赖包),而src为其源代码目录
其中的lib目录为系统包文件,并且了解下面的各个文件的主要功能
●struts2-core-2.0.11.jar为Struts2的核心包
●而xwork-2.0.4.jar为XWork2库,Struts2核心包作为底层库存在
●ognl-2.6.11.jar为ObjectGraphNavigationLanguage(OGNL),类似于EL表达式的一种用于访问对象的表达式语言
●freemarker-2.3.8.jar为Struts2所有的ui标记的模板均使用freemarker编写,可通过修改或重写模板使struts2的ui标记按用户的需要进行显示
●commons-logging-1.0.4.jar为Apache的CommonsLoggin包,封装了通用的日志接口,可自动调用Log4J或者JDK1.4或者更高版本的util.logging日志包。
(4)而doc目录下为帮助文件
(5)而app目录下的文件为示例(包含了四个war包形式的示例应用,附带有源码,我们可以直接发布到Tomcat的webapps目录下,也可阅读其源码学习。
)
其中的struts2-blank-2.0.8.war是4个中最基础的一个实例,可以通过它学习了解到下面的知识点
(1)了解struts2的配置
(2)Struts2的表单以及表单验证
(3)Struts2的本地化输出
http:
//127.0.0.1:
8080/struts2-showcase-2.1.8.1/index.jsp
Struts2框架应用示例
1、新建立一个Web项目
(1)项目名称为sshwebcrm、并且添加JSTL标签库
但最好将项目的J2EE系统库的版本选择为J2EE5.0版,以便能够应用MyEclipse的可视化帮助。
(2)设置编译环境为JDK1.6
struts2默认需要Java5的运行环境,和支持ServletAPI2.4,JSPAPI2.0的Web容器.
2、在项目中添加图片等资源文件
3、在项目中添加index.jsp页面
<%@pagepageEncoding="gb2312"isELIgnored="false"%>
<%@taglibprefix="c"uri="
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
蓝梦集团CRM系统的首页
urlvalue='/css/pageContentStyle.css'/>"rel="stylesheet"type="text/css"/>
urlvalue='/javascript/commonJavaScript.js'/>"
type="text/javascript">
includepage="/commonPage/pageHead.jsp">
include>
includepage="/commonPage/navMenuBar.jsp">
include>
这是蓝梦集团CRM系统(客户关系系统)的首页内容