第一讲(Struts2入门配置及包).ppt_第1页
第一讲(Struts2入门配置及包).ppt_第2页
第一讲(Struts2入门配置及包).ppt_第3页
第一讲(Struts2入门配置及包).ppt_第4页
第一讲(Struts2入门配置及包).ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、,Struts2入门,章节内容,1、学习方法,学习框架,不要去记忆一些东西,更重要的是去理解一些东西,很多人,在写代码的时候,总是说:“原来这里是怎么写来着?”,这就是典型的记忆学习法,需要摒弃。,2、struts2引 入,Struts2是在WebWork2基础发展而来的。和struts1一样,Struts2也属于MVC框架。不过需要注意的是:尽管Struts2和struts1在名字上差别不大,但Struts2和struts1在代码编写风格上几乎是不一样的。 Struts2主要有以下优点: 1 在软件设计上struts2没有像struts1那样跟ServletAPI和strutsAPI有着紧密

2、的耦合,Struts2的 应用可以不依赖于ServletAPI和strutsAPI。Struts2的这种设计属于无侵入式设计,而Struts1 却属于侵入式设计。 public class OrderListAction extends Action public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception 2Struts2提供了拦截器,利用拦截器可以进行AOP编成,实现

3、如权限拦截等功能。 3Struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在Struts1中,如果 我们需要实现同样的功能,就必须向Struts1的底层实现BeanUtil注册类型转换器才行。 4Struts2的输入校验可以对指定方法进行校验 5Struts2提供支持多种表现层技术,如:jsp、freeMarker等 6Struts2提供了全局范围、包范围、action范围的国际化资源文件管理实现。,大家可以到下载struts-2.x.x-all.zip,目前最新版为2.2.3。下载完后解压文件,开发struts2应用需要依赖

4、的jar文件在解压目录的lib文件夹下。不同的应用需要的jar包是不同的。 下面给出了开发Struts2程序最少需要的jar. struts2-core-2.x.x.jar:Struts2框架的核心类库 xwork-2.x.x.jar:XWork类库,Struts2在其上构建 ognl-ognl-3.x.jar:对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性 freemarker-2.3.x.jar:Struts2的UI标签的模板使用FreeMarker缩写 commons-logging-1.1.x.jar:ASF出

5、品的日志包,Struts2框架使用这个日志包来支持Log4j和JDK1.4+的日至记录。 commons-fileupload-1.2.1.jar文件上传组建,2.1.6版本后必须加入此文件 commons-io-2.0.1.jar 输入输出,搭建Struts2开发环境-开发struts2应用依赖的jar文件,下载源,软件下载 下载struts2.1.6 /download.(选择下载full distribution) 下载myeclipse, 下载tomcat, 下载xwork, (要注意的是下载与

6、struts2.1.6的对应版本,即2.1.2),3、第一个Struts2HelloWorld程序,建立第一个struts2.1的程序(参考struts源码) 找到struts目录下对应的apps目录 解压struts2-blank-2.X.X.war Copy对应的lib的jar文件,需要除junit和spring-test之外的所有文件,其中commons-io的jar包会在文件上传和下载时需要,其他为必须 Copy对应的struts.xml到src目录,在package explorer视图进行操作 注释掉struts.xml的多余内容 建立HelloStruts2.jsp文件 *修改j

7、sp文件的默认编码属性window-preferences-web-jspfiles-设为Chinese,National Standard 在struts.xml中照原配置进行对应的配置 修改对应的web.xml,建立struts2的filter,步骤一:注释掉struts.xml的原配置在struts.xml中照原配置进行配置, HelloWorld /example - -开发模式(devMode) /HelloStruts2.jsp ,步骤二:修改对应的web.xml,建立struts2的filter,在struts1.x中,struts框架是通过Servlet启动的。在struts2

8、中,struts框架是通过Filter启动的。 他在web.xml中的配置如下: struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter org.apache.struts2.dispatcher.FilterDispatcher- struts2 /* 在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。 注意:struts2读取到struts.xml的内容后,以javabean形式存放在内存中,以后

9、struts2 对用户的每次请求处理将使用内存中的数据,而不是每次都读取struts.xml文件,步骤三:建立HelloStruts2.jsp文件, Hello Struts2 直接执行:http:/localhost:8080/工程名/hellostruts2链接地址,devMode问题讲解,-开发模式 上面这行,写在struts.xml中以后,以后在tomcat启动后,如果修改struts.xml文件,这个时候不需要重新加载启动tomcat。比较方便。就像jsp页面一样,修改后,不需要重新发布。,简单HelloWord处理流程,4、如何解决struts.xml配置文件中无提示的问题,有时候

10、,在struts.xml中,打“”的时候,不能出现一些标签,就是因为上面的struts-2.0.dtd没有找到,那就有两种做法, 第一种:将自己的电脑连接到internet 第二种:如下图所示,到myeclopsepreferences然后到相应的位置,找到自己电脑中的struts2.0.dtd的位置,按照下面的图解加载进去就可以了。, /WEB-INF/page/hellostruts2.jsp 在struts2框架中使用包来管理Action,包的作用和java中包是非常类似的,它主要用于管理一组业务。 功能相关的action。实际应用中,我们应该把一组业务功能相关的Action放在同一个包

11、下。 配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,他不对应java的类包,如果其他包要继承该包,必须通过该属性进行引用。包的namespace属性用于定义该包的命名空间,命名空间作为该包下Action的路径的一部分,如访问上面例子的Action,访问路径为:/test/helloworld.action. namespace属性可以不配置,对本例而言,如果不指定该属性,默认的命名空间为“”(空字符串)。 通常每个包都应继承struts-default包,因为Struts2很多核心的功能都是拦截器来实现。如:从请求中把 请求参数封装到action、文件上传和数据验证等

12、都是通过拦截器实现的。struts-default定义了这些拦截器和Result类型。可以这么说:当包继承了struts-default才能使用struts2提供的核心功能。struts-default包是在struts2-core-2.x.x.jar文件中的struts-default.xml中定义。struts-default.xml也是Struts2默认配置文件。 struts2每次都会自动加载struts-default.xml文件。 包还可以通过abstract=true定义为抽象包,抽象包中不能包含action.,5、Struts.xml配置中的包介绍, 。 如果一个包定义为抽象,那么这个包只能被其他包所继承,在这个包里就不能定义action了。,抽象包,默认包,原理: 如果请求为

温馨提示

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

评论

0/150

提交评论