您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > 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),可以从这里下载:。(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的本地化输出框架应用示例1、新建立一个Web项目(1)项目名称为sshwebcrm、并且添加JSTL标签库但最好将项目的J2EE系统库的版本选择为J2EE5.0版,以便能够应用MyEclipse的可视化帮助。(2)设置编译环境为JDK1.6struts2默认需要Java5的运行环境,和支持ServletAPI2.4,JSPAPI2.0的Web容器.2、在项目中添加图片等资源文件3、在项目中添加index.jsp页面%@pagepageEncoding=gb2312isELIgnored=false%%@taglibprefix=curi=!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN=蓝梦集团CRM系统的首页/titlelinkhref=c:urlvalue='/css/pageContentStyle.css'/rel=stylesheettype=text/css/scriptlanguage=javascriptsrc=c:urlvalue='/javascript/commonJavaScript.js'/type=text/javascript/script/headbodyjsp:includepage=/commonPage/pageHead.jsp/jsp:includejsp:includepage=/commonPage/navMenuBar.jsp/jsp:includebr/divid=someOnePageContentstrong这是蓝梦集团CRM系统(客户关系系统)的首页内容/strong/divbr/jsp:includepage=/commonPage/authorInfo.jsp/jsp:include/body/html4、将项目部署到Tomcat服务器中5、测试index.jsp页面利用MyEclipse8.X版中的可视化创建项目1、新建出本Web项目在MyEclipse中,建立WebProject项目时,如果选择了J2EE5.0后,MyEclipse不会自动添加jstl的系统库,需要手动添加。注意:对于一股的应用只需要如下的系统库文件:commons-logging-1.0.4.jarfreemarker-2.3.13.jarognl-2.6.11.jarstruts2-core-2.1.6.jarxwork-2.1.2.jarcommons-fileupload-1.2.1.jarOGNL是Object-GraphNavigationLanguage的缩写,它是一种功能强大的表达式语言(ExpressionLanguage,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。MyEclipse将在web.xml文件中添加如下的内容?xmlversion=1.0encoding=UTF-8?web-appversion=2.5xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/javaee/web-app_2_5.xsdwelcome-file-listwelcome-fileindex.jsp/welcome-file/welcome-file-listfilterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern*.action/url-pattern/filter-mapping/web-app同时将系统中的图片等资源文件拷贝%@pagelanguage=javaimport=java.util.*pageEncoding=GB18030isELIgnored=false%tomcat下如果使用j2ee5.0,会导致EL语言的失效,这个时候需要在jsp页面上方加上:%@pageisELIgnored=false%或者在web.xml文件中修改最上面的版本为2.4,以及验证的xsd为web-app_2_4.xsd。再执行系统的首页,如果没有出现错误,则表明前面的环境搭建是正确的。在项目中实现用户信息管理功能——构建功能页面1、在项目中添加一个userLogin.jsp页面(1)添加userManage目录(2)在该目录中添加userLogin.jsp页面(3)设计该userLogin.jsp页面的内容%@pagepageEncoding=gb2312%%@taglibprefix=curi=!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//ENhtt
本文标题:Struts2框架示例
链接地址:https://www.777doc.com/doc-5101263 .html