第一讲 struts2基础_第1页
第一讲 struts2基础_第2页
第一讲 struts2基础_第3页
第一讲 struts2基础_第4页
第一讲 struts2基础_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Struts2基础 主要内容主要内容1、struts2概述概述2、简单的、简单的struts2程序程序3、struts2配置文件配置文件4、struts2国际化国际化5、 struts2输入校验输入校验6、 struts2 OGNL(对象图形化导航语言)(对象图形化导航语言)7、 struts2拦截器拦截器8、 struts2类型转换类型转换9、 struts2标签库标签库10、访问数据库、访问数据库 Struts2概述概述 Struts框架的主要架构设计和开发者是Craig R.McClanahan (克雷格.麦克拉那罕 ),并且在2000 年的时候捐献给了ASF(阿帕奇软件基金会 ),20

2、01年7月推出1.0版本。 Struts2(2005) 是一个用来开发 MVC应用程序的框架. 它提供了提供了 Web 应用程序开发过程中的一些常见问题的解决应用程序开发过程中的一些常见问题的解决方案方案: 对页面导航页面导航活动进行管理(MVC 中的C 或V)对来自用户的输入数据进行合法性验证输入数据进行合法性验证统一的布局统一的布局可扩展性可扩展性国际化和本地化国际化和本地化支持 Ajax表单的重复提交表单的重复提交到到/download.cgi#struts2014/download.cgi#st

3、ruts2014下载下载struts-struts-2.x.x-all.zip2.x.x-all.zip,目前最新版为,目前最新版为。下载完后解压文件,开发。下载完后解压文件,开发struts2struts2应用需要依赖的应用需要依赖的jarjar文件在解压目录的文件在解压目录的liblib文件夹下。不同的应用需要的文件夹下。不同的应用需要的JARJAR包是不同的。包是不同的。下面给出了开发下面给出了开发Struts 2Struts 2程序最少需要的程序最少需要的JARJAR。struts2-core-2.x.x.jar :struts2-core-2.x.x.ja

4、r :Struts 2Struts 2框架的核心类库框架的核心类库xwork-2.x.x.jar :xwork-2.x.x.jar :XWorkXWork类库,类库,Struts 2Struts 2在其上构建在其上构建ognl-2.6.x.jar :ognl-2.6.x.jar :对象图导航语言(对象图导航语言(Object Graph Object Graph Navigation LanguageNavigation Language),),Struts 2Struts 2框架使用的一种表达式语言框架使用的一种表达式语言freemarker-2.3.x.jar : freemarker-2

5、.3.x.jar : Struts 2Struts 2的的UIUI标签的模板使用标签的模板使用FreeMarkerFreeMarker编写编写commons-logging-1.1.x.jar: commons-logging-1.1.x.jar: ASFASF出品的日志包,出品的日志包,Struts 2Struts 2框架使用这个框架使用这个日志包来支持日志包来支持Log4JLog4J和和JDK 1.4+JDK 1.4+的日志记录。的日志记录。Commons-fileupload.ar Commons-fileupload.ar 实现文件的上传实现文件的上传还有一种最省事的做法是:还有一种最

6、省事的做法是:如果不需要跟第三方框架集成如果不需要跟第三方框架集成,把不带把不带 - plugin- plugin结尾的结尾的jarjar文件都添加入文件都添加入类路径即可类路径即可。如果需要跟第三方框架集成如果需要跟第三方框架集成,这时候还需要加入对应的这时候还需要加入对应的- -plugin jarplugin jar文件文件。例如跟例如跟springspring集成集成,需要加入需要加入struts2-spring-plugin-struts2-spring-plugin-2.x.x.jar.2.x.x.jar.Struts2 软件下载软件下载 Struts2 比较重要的类比较重要的类包

7、名包名说明说明org.apache.struts2. components该包封装视图组件,该包封装视图组件,Struts2在视图组件上有了很大加在视图组件上有了很大加强,不仅增加了组件的属性个数,更新增了几个非常有用强,不仅增加了组件的属性个数,更新增了几个非常有用的组件,如的组件,如updownselect、doubleselect、datetimepicker、token、tree等。等。另外,另外,Struts2可视化视图组件开始支持主题可视化视图组件开始支持主题(theme),缺省情况下,使用自带的缺省主题,如果要自定义页面,缺省情况下,使用自带的缺省主题,如果要自定义页面效果,需要

8、将组件的效果,需要将组件的theme属性设置为属性设置为.apache.struts2. config该包定义与配置相关的接口和类。实际上,工程中的该包定义与配置相关的接口和类。实际上,工程中的xml和和properties文件的读取和解析都是由文件的读取和解析都是由WebWork完成的,完成的,Struts只做了少量的工作。只做了少量的工作。org.apache.struts2.dispatcherStruts2的核心包,最重要的类都放在该包中。的核心包,最重要的类都放在该包中。org.apache.struts2.impl该包只定义了该包只定义了3个类,他们是个类,他们

9、是StrutsActionProxy、StrutsActionProxyFactory、StrutsObjectFactory,这,这三个类都是对三个类都是对xwork的扩展。的扩展。erceptor定义内置的截拦器。定义内置的截拦器。org.apache.struts2.util实用包。实用包。org.apache.struts2.validators只定义了一个类:只定义了一个类:DWRV.apache.struts2.views提供提供freemarker、jsp、velocity等不同类型的页面呈现。等不同类型的页面呈

10、现。类名类名说明说明org.apache.struts2.dispatcher. org.apache.struts2.dispatcher. DispatcherDispatcher该类有两个作用:该类有两个作用: 1 1、初始化、初始化2 2、调用指定的、调用指定的ActionAction的的execute()execute()方法。方法。org.apache.struts2.dispatcher. org.apache.struts2.dispatcher. FilterDispatcherFilterDispatcher这是一个过滤器。该类有四个作用:这是一个过滤器。该类有四个作用:1

11、 1、执行、执行ActionAction2 2、清理、清理ActionContextActionContext,避免内存泄漏,避免内存泄漏3 3、处理静态内容(、处理静态内容(Serving static contentServing static content4 4、为请求启动、为请求启动xworksxworks的截拦器链。的截拦器链。com.opensymphony.xwork2. com.opensymphony.xwork2. ActionProxyActionProxyActionAction的代理接口。的代理接口。com.opensymphony.xwork2. com.open

12、symphony.xwork2. ctionProxyFactoryctionProxyFactory生产生产ActionProxyActionProxy的工厂。的工厂。com.opensymphony.xwork2.ActionIncom.opensymphony.xwork2.ActionInvocationvocation负责调用负责调用ActionAction和截拦器。和截拦器。viders. roviders. XmlConfigurationProvi

13、derXmlConfigurationProvider负责负责Struts2Struts2的配置文件的解析。的配置文件的解析。 1、打开、打开MyEclipse程序,并建立工程程序,并建立工程struts2-01002、选择菜单、选择菜单MyEclipse-Project Capabilities-add Struts-Capabilites将自动给当前工程添加配置文件将自动给当前工程添加配置文件struts.xml和和web.xml(或通过拷贝也可以实现:解压(或通过拷贝也可以实现:解压struts2--all.zip压缩包,压缩包,并将文件夹并将文件夹struts-2.3.1

14、.2-allstruts-lib下的下的jar包复制到包复制到当前工程的当前工程的WebRootWEB-INFlib文件夹中。找到文件夹中。找到struts-appsstruts2-blank.war文件并解压,然后打开文件并解压,然后打开WEN-INFweb.xml文件,并复制相关内容)文件,并复制相关内容) 二、操作步骤二、操作步骤3、配置工程的、配置工程的web.xml文件文件复制代码段:复制代码段: struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter st

15、ruts2 /* 4、配置、配置struts2.xml文件。文件。找到找到struts-appsstruts2-blankWEN-INFclassesstruts.xml文件,并将其复制到工文件,并将其复制到工程的程的src文件夹中,并修改相关内容。文件夹中,并修改相关内容。 /hello.jsp 5、简单说明、简单说明(1)web.xml文件中配置输入地址通配问题,输入时可以省文件中配置输入地址通配问题,输入时可以省略略.action*.action 改为改为/* FilterDispatcher是是Struts 2框架的核心控制器,它负责拦截框架的核心控制器,它负责拦截由由/

16、*指定的所有用户请求,当用指定的所有用户请求,当用户请求到达时,该户请求到达时,该Filter会过滤用户请求。会过滤用户请求。默认情况下,如果用户请求的路径以默认情况下,如果用户请求的路径以.action结尾,该请求将结尾,该请求将被转入被转入Struts 2框架处理,否则该请求将略过框架处理,否则该请求将略过Struts 2框架的框架的处理。处理。默认处理的后缀是可以通过修改常默认处理的后缀是可以通过修改常量量”struts.action.extension“进行实现。进行实现。(2)struts.xml文件中配置内容更新后,不重新启动服务器文件中配置内容更新后,不重新启动服务器改为改为(3

17、)配置配置jar包源代码查看包源代码查看选中要查看的选中要查看的jar包包-点击右键点击右键-属性属性-选中源代码文件夹选中源代码文件夹-extenal file在硬盘上找到相应的在硬盘上找到相应的java文件夹文件夹D:/xuhongzhang/struts--all/struts-/src/core/src/main/java(4)(4)配置配置struts2.xmlstruts2.xml中编辑提示问题:中编辑提示问题:(1 1)找到)找到struts2struts2文件夹下的文件夹下的liblib文件夹找到文件夹找到struts2-struts2-core-2

18、.3.1.2.jarcore-.jar并解压并解压(2 2)选中)选中webweb文件中的文件中的/dtds/struts-2.0.dtd-/dtds/struts-2.0.dtd-工程工程的的windowwindow菜单菜单- catalog- - catalog- 右键打开如下图所示:右键打开如下图所示:三、三、struts运行机制运行机制return1、Namespace2、自定义、自定义Action3、路径问题、路径问题4、通配符、通配符5、包含模块配置文件、包含模块配置文件6、默

19、认、默认Action7、接受用户输入、接受用户输入8、服务器跳转、服务器跳转9、Action中访问中访问web元素元素10、简单数据校验、简单数据校验11、调用、调用Action的自定义方法的自定义方法四、四、 Action主要内容主要内容1 1、命名空间、命名空间在在struts2框架中使用包来管理框架中使用包来管理Action,包的作用和包的作用和java中的类中的类包非常类似,主要用于管理一组业务功能相关的包非常类似,主要用于管理一组业务功能相关的action。在实。在实际应用中,应该把一组业务功能相关的际应用中,应该把一组业务功能相关的Action放在同一个包下。放在同一个包下。配置包

20、时必须指定配置包时必须指定name属性,如果其他包要继承该包,必须通属性,如果其他包要继承该包,必须通过该属性进行引用。过该属性进行引用。包的包的namespace属性用于定义该包的命名空间。该属性可以不属性用于定义该包的命名空间。该属性可以不配置,如果不指定该属性,默认的命名空间为配置,如果不指定该属性,默认的命名空间为“”。 /hello.jsp 说明:工程拷贝注意事项说明:工程拷贝注意事项(1)更改更改web 的配置路径的配置路径(2)更改更改jre的配置版本的配置版本2 2、自定义、自定义ActionAction(1)编写一个简单的编写一个简单的java类,实现类,实现ActionSu

21、pport接口接口package .huanghuai.xxgcxy.struts2.action;import com.opensymphony.xwork2.ActionSupport;public class firstAction extends ActionSupportOverride public String execute() return success; (2)修改修改struts.xml文件文件 /first.jsp (3) 链接路径链接路径访问访问struts2中的中的action的的URL路径由两部份组成:包的路径由两部份组成:包的命名空间命名空间+ac

22、tion的名称,完整路径为:的名称,完整路径为:http:/localhost:端口端口+工程路径工程路径+空间名称空间名称+action名称名称+method方法方法)。如果没有为如果没有为action指定指定class,默认是,默认是ActionSupport。而而ActionSupport的的execute() 方法默认处理就是返回一方法默认处理就是返回一个个success字符串。字符串。method属性用于指定属性用于指定action中的那中的那个方法,如果没有指定默认执行个方法,如果没有指定默认执行action中的中的execute() 方方法。法。3 3、路径问题、路径问题在在struts2中超级链接通常都采用绝对路径,而不使用相对中超级链接通常都采用绝对路径,而不使用相对路径,这样便于链接的实现。路径,这样便于链接的实现。4 4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论