第一讲 struts2基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Struts2基础主要内容1、struts2概述2、简单的struts2程序3、struts2配置文件4、struts2国际化5、struts2输入校验6、struts2OGNL(对象图形化导航语言)7、struts2拦截器8、struts2类型转换9、struts2标签库10、访问数据库Struts2概述Struts框架的主要架构设计和开发者是CraigR.McClanahan(克雷格.麦克拉那罕),并且在2000年的时候捐献给了ASF(阿帕奇软件基金会),2001年7月推出1.0版本。Struts2(2005)是一个用来开发MVC应用程序的框架.它提供了Web应用程序开发过程中的一些常见问题的解决方案:对页面导航活动进行管理(MVC中的C或V)对来自用户的输入数据进行合法性验证统一的布局可扩展性国际化和本地化支持Ajax表单的重复提交…到下载struts-2.x.x-all.zip,目前最新版为2.3.1.2。下载完后解压文件,开发struts2应用需要依赖的jar文件在解压目录的lib文件夹下。不同的应用需要的JAR包是不同的。下面给出了开发Struts2程序最少需要的JAR。struts2-core-2.x.x.jar:Struts2框架的核心类库xwork-2.x.x.jar:XWork类库,Struts2在其上构建ognl-2.6.x.jar:对象图导航语言(ObjectGraphNavigationLanguage),Struts2框架使用的一种表达式语言freemarker-2.3.x.jar:Struts2的UI标签的模板使用FreeMarker编写commons-logging-1.1.x.jar:ASF出品的日志包,Struts2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录。Commons-fileupload.ar实现文件的上传还有一种最省事的做法是:如果不需要跟第三方框架集成,把不带-plugin结尾的jar文件都添加入类路径即可。如果需要跟第三方框架集成,这时候还需要加入对应的-pluginjar文件。例如跟spring集成,需要加入struts2-spring-plugin-2.x.x.jar.Struts2软件下载Struts2比较重要的类包名说明org.apache.struts2.components该包封装视图组件,Struts2在视图组件上有了很大加强,不仅增加了组件的属性个数,更新增了几个非常有用的组件,如updownselect、doubleselect、datetimepicker、token、tree等。另外,Struts2可视化视图组件开始支持主题(theme),缺省情况下,使用自带的缺省主题,如果要自定义页面效果,需要将组件的theme属性设置为simple。org.apache.struts2.config该包定义与配置相关的接口和类。实际上,工程中的xml和properties文件的读取和解析都是由WebWork完成的,Struts只做了少量的工作。org.apache.struts2.dispatcherStruts2的核心包,最重要的类都放在该包中。org.apache.struts2.impl该包只定义了3个类,他们是StrutsActionProxy、StrutsActionProxyFactory、StrutsObjectFactory,这三个类都是对xwork的扩展。org.apache.struts2.interceptor定义内置的截拦器。org.apache.struts2.util实用包。org.apache.struts2.validators只定义了一个类:DWRValidator。org.apache.struts2.views提供freemarker、jsp、velocity等不同类型的页面呈现。类名说明org.apache.struts2.dispatcher.Dispatcher该类有两个作用:1、初始化2、调用指定的Action的execute()方法。org.apache.struts2.dispatcher.FilterDispatcher这是一个过滤器。该类有四个作用:1、执行Action2、清理ActionContext,避免内存泄漏3、处理静态内容(Servingstaticcontent4、为请求启动xwork’s的截拦器链。com.opensymphony.xwork2.ActionProxyAction的代理接口。com.opensymphony.xwork2.ctionProxyFactory生产ActionProxy的工厂。com.opensymphony.xwork2.ActionInvocation负责调用Action和截拦器。com.opensymphony.xwork2.config.providers.XmlConfigurationProvider负责Struts2的配置文件的解析。1、打开MyEclipse程序,并建立工程struts2-01002、选择菜单MyEclipse-ProjectCapabilities-addStruts-Capabilites将自动给当前工程添加配置文件struts.xml和web.xml(或通过拷贝也可以实现:解压struts2-2.3.1.2-all.zip压缩包,并将文件夹struts-2.3.1.2-all\struts-2.3.1.2\lib下的jar包复制到当前工程的WebRoot\WEB-INF\lib文件夹中。找到struts-2.3.1.2\apps\struts2-blank.war文件并解压,然后打开WEN-INF\web.xml文件,并复制相关内容)二、操作步骤3、配置工程的web.xml文件复制代码段:filterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mapping4、配置struts2.xml文件。找到struts-2.3.1.2\apps\struts2-blank\WEN-INF\classes\struts.xml文件,并将其复制到工程的src文件夹中,并修改相关内容。strutsconstantname=struts.devModevalue=true/packagename=defaultnamespace=/extends=struts-defaultactionname=helloresult/hello.jsp/result/action/package/struts5、简单说明(1)web.xml文件中配置输入地址通配问题,输入时可以省略.actionurl-pattern*.action/url-pattern改为url-pattern/*/url-patternFilterDispatcher是Struts2框架的核心控制器,它负责拦截由url-pattern/*/url-pattern指定的所有用户请求,当用户请求到达时,该Filter会过滤用户请求。默认情况下,如果用户请求的路径以.action结尾,该请求将被转入Struts2框架处理,否则该请求将略过Struts2框架的处理。默认处理的后缀是可以通过修改常量”struts.action.extension“进行实现。constantname=“struts.action.extension”value=“action,do/(2)struts.xml文件中配置内容更新后,不重新启动服务器constantname=struts.devModevalue=“false/改为constantname=struts.devModevalue=true/(3)配置jar包源代码查看选中要查看的jar包-点击右键-属性-选中源代码文件夹-extenalfile在硬盘上找到相应的java文件夹D:/xuhongzhang/struts-2.3.1.2-all/struts-2.3.1.2/src/core/src/main/java(4)配置struts2.xml中编辑提示问题:(1)找到struts2文件夹下的lib文件夹找到struts2-core-2.3.1.2.jar并解压(2)选中web文件中的工程的window菜单-catalog-右键打开如下图所示:三、struts运行机制return1、Namespace2、自定义Action3、路径问题4、通配符5、包含模块配置文件6、默认Action7、接受用户输入8、服务器跳转9、Action中访问web元素10、简单数据校验11、调用Action的自定义方法四、Action主要内容1、命名空间在struts2框架中使用包来管理Action,包的作用和java中的类包非常类似,主要用于管理一组业务功能相关的action。在实际应用中,应该把一组业务功能相关的Action放在同一个包下。配置包时必须指定name属性,如果其他包要继承该包,必须通过该属性进行引用。包的namespace属性用于定义该包的命名空间。该属性可以不配置,如果不指定该属性,默认的命名空间为“”。packagename=defaultnamespace=/extends=struts-defaultactionname=helloresult/hello.jsp/result/action/package说明:工程拷贝注意事项(1)更改web的配置路径(2)更改jre的配置版本2、自定义Action(1)编写一个简单的java类,实现ActionSupport接口packagecn.edu.huanghuai.xxgcxy.struts2.action;importcom.opensymphony.xwork2.ActionSupport;publicclassfirstActionextendsActionSupport{@OverridepublicStringexecute(){returnsuccess;}}(2)修改struts.xml文件packagename=selfnamespace=/extends=struts-defaultactionname=helloclass=cn.edu.huanghuai.xxgcxy.struts2.action.firstActionresultname=success/first.jsp/result/action/package(3)链接路径访问struts2中的action的URL路径由两部份组成:包的命名空间+action的名称,完整路径为:端口+工程路径+空间名称+action名称+method方法)。如果没有为action指定class,默认是ActionSupport。而ActionSupport的execute()方法默认处理就是返回一个success字符串。method属性用于指定action中的那个方法,如果没有指定默认执行action中的execute()方法。3、

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功