




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SHH实战系列教程Struts实战教程课件编写人:徐桥 TOC o 1-3 h z u HYPERLINK l _Toc227029248 第一天 PAGEREF _Toc227029248 h 2 HYPERLINK l _Toc227029249 Struts 2的介绍 PAGEREF _Toc227029249 h 3 HYPERLINK l _Toc227029250 Str简介: PAGEREF _Toc227029250 h 3 HYPERLINK l _Toc227029251 框架的优势 PAGEREF _Toc227029251 h 4 HYPERLINK l _Toc227
2、029252 目录下文件简介 PAGEREF _Toc227029252 h 4 HYPERLINK l _Toc227029253 Struts 2开发环境的搭建 PAGEREF _Toc227029253 h 4 HYPERLINK l _Toc227029254 使用到的jar文件 PAGEREF _Toc227029254 h 4 HYPERLINK l _Toc227029255 版本开发环境要求 PAGEREF _Toc227029255 h 6 HYPERLINK l _Toc227029256 Struts2的启动配置(在中配置) PAGEREF _Toc227029256 h
3、 6 HYPERLINK l _Toc227029257 Struts2的配置文件模版 PAGEREF _Toc227029257 h 6 HYPERLINK l _Toc227029258 第一个Struts2应用 PAGEREF _Toc227029258 h 7 HYPERLINK l _Toc227029259 第一步:新建一个J2的web project工程 PAGEREF _Toc227029259 h 7 HYPERLINK l _Toc227029260 第二步:在src目录下创建一个文件 PAGEREF _Toc227029260 h 7 HYPERLINK l _Toc22
4、7029261 第三步:新建一个java类 PAGEREF _Toc227029261 h 9 HYPERLINK l _Toc227029262 第四步:导入jar包 PAGEREF _Toc227029262 h 9 HYPERLINK l _Toc227029263 第五步:配置文件(struts2 启动配置) PAGEREF _Toc227029263 h 10 HYPERLINK l _Toc227029264 第六步:建立显示页面 PAGEREF _Toc227029264 h 10 HYPERLINK l _Toc227029265 第七步:在IE浏览上测试程序结果: PAGER
5、EF _Toc227029265 h 10 HYPERLINK l _Toc227029266 解决在MyEclipse下Struts2配置文件无提示问题 PAGEREF _Toc227029266 h 11 HYPERLINK l _Toc227029267 Action名称的搜索顺序 PAGEREF _Toc227029267 h 14 HYPERLINK l _Toc227029268 给Action配置的各项默认值 PAGEREF _Toc227029268 h 16 HYPERLINK l _Toc227029269 Action中result的各种转发类型 PAGEREF _Toc
6、227029269 h 19 HYPERLINK l _Toc227029270 dispatcher(运用服务器跳转,默认值) PAGEREF _Toc227029270 h 21 HYPERLINK l _Toc227029271 redirect(重定向) PAGEREF _Toc227029271 h 21 HYPERLINK l _Toc227029272 Chain(链条) PAGEREF _Toc227029272 h 21 HYPERLINK l _Toc227029273 redirectAction(客户端跳转) PAGEREF _Toc227029273 h 22 HYP
7、ERLINK l _Toc227029274 Stream PAGEREF _Toc227029274 h 22 HYPERLINK l _Toc227029275 plaintext(显示原始文件内容) PAGEREF _Toc227029275 h 22 HYPERLINK l _Toc227029276 Freemarker PAGEREF _Toc227029276 h 22 HYPERLINK l _Toc227029277 header PAGEREF _Toc227029277 h 22 HYPERLINK l _Toc227029278 Velocity PAGEREF _To
8、c227029278 h 22 HYPERLINK l _Toc227029279 Xslt PAGEREF _Toc227029279 h 23 HYPERLINK l _Toc227029280 Tiles PAGEREF _Toc227029280 h 23 HYPERLINK l _Toc227029281 为Action属性注入值 PAGEREF _Toc227029281 h 23 HYPERLINK l _Toc227029282 第一步: PAGEREF _Toc227029282 h 23 HYPERLINK l _Toc227029283 第二步: PAGEREF _Toc
9、227029283 h 23 HYPERLINK l _Toc227029284 第三步: PAGEREF _Toc227029284 h 23 HYPERLINK l _Toc227029285 第四步配置好 PAGEREF _Toc227029285 h 24 HYPERLINK l _Toc227029286 第五步: PAGEREF _Toc227029286 h 24 HYPERLINK l _Toc227029287 第六步: PAGEREF _Toc227029287 h 25 HYPERLINK l _Toc227029288 指定Struts2处理的请求后缀 PAGEREF
10、_Toc227029288 h 25 HYPERLINK l _Toc227029289 在文件中配置常量 PAGEREF _Toc227029289 h 26 HYPERLINK l _Toc227029290 在中配置常量 PAGEREF _Toc227029290 h 26 HYPERLINK l _Toc227029291 常量可以在多个配置文件中定义及这文件的加载顺序 PAGEREF _Toc227029291 h 26 HYPERLINK l _Toc227029292 常用的常量介绍: PAGEREF _Toc227029292 h 27 HYPERLINK l _Toc2270
11、29293 Struts2的处理流程 PAGEREF _Toc227029293 h 28 HYPERLINK l _Toc227029294 Struts2是一基于MVC模式的框架: PAGEREF _Toc227029294 h 28 HYPERLINK l _Toc227029295 的工作原理图 PAGEREF _Toc227029295 h 29 HYPERLINK l _Toc227029296 的工作原理图 PAGEREF _Toc227029296 h 29第一天内容介绍:Struts 2开发环境的搭建第一个struts2应用开发解决struts2配置文件无提示问题Action
12、名称的搜索顺序Action配置的各项默认值.result配置的各种视图转发类型.为Action属性注入值指定Struts2处理的请求后缀Struts2的处理流程与Action的管理方式期望的目标了解Struts 2的优势熟练配置Struts 2环境并且开发出Struts 2框架的第一环境了解Action在Struts 2作用及原理理解Struts 2的类型转换原理了解Action属性的注入值理解并且渗透Struts2的处理流程与Action的管理方式第一代:静态网页 HTML静态页面。无交互。 2. 第二代:程序时代:CGI 通过CGI程序生成HTML网页,可交互,数据可存储到数据库。如C,C
13、+等。 3. 第三代:动态网页 程序和HTML代码混合,由程序根据参数或条件决定如何生成HTML。另一特点是代码单一,比如JSP中只用开发JSP和Servlet。访问数据库,业务逻辑,界面校验等混合,可读性较差。 代表:ASP,JSP,PHP等。 4. 第四代:MVC框架,第一代 Web开发第一次有了MVC的概念,将数据模型,表现视图和控制器相分离,使得Web开发更为专业,简洁和高效。 缺点:代码与容器耦合过紧,程序员编码需要操作很多容器相关的对象;单元测试困难;代码难以复用。例如:通过request获取参数,手工创建formBean等。 代表:Struts1,Ofbiz等。 5. 第五代:M
14、VC框架,第二代 改进MVC框架。开发实现容器无关,formBean自动封装。便于单元测试,提高了移植和复用。其他改进包括:AOP思想的运用,插件式功能扩展等。 有趣的是,这一时期,以Javascript为基础Ajax技术广泛流行;虽不能说跟服务器段开发一点关系没有,但“改进,优化”的动力与第五代Web开发技术的成熟是一样的。 代表:Struts2,JFace,MyFaces。 这个阶段划分粒度还较细。如果按粗粒度可划分为:静态网页,动态网页,MVC框架三个大阶段。 富客端段开发如:ActiveX,Applet,Flex,JavaFX等属于另一个分支,并且很早就出现了。MVC设计思想MVC英文
15、即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、 HYPERLINK :/ itisedu /phrase/200604231236585.html t _new XML和 HYPERLINK :/ itisedu /phrase/200604201518585.html t _new Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。
16、一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应 HYPERLINK :/ itisedu /phrase/20060424093710
17、5.html t _new 用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的ase/200603302222545.html t _new 组件,但它不能作为应用 HYPERLINK :/ itisedu /phrase/200604161258515.html t _new 设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有
18、提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的 HYPERLINK :/ itisedu /phrase/200603121222205.html t _new 重构和提高重用性。我们可以用 HYPERLINK :/ itisedu /phrase/200603090845215.html t _new 对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型 菽椭饕 甘堤宥韵蟮氖 ?保存(持续化)。比如将一张订单保存到 HYPERLINK :/ itisedu /ph
19、rase/200602271218062.html t _new 数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模
20、型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图1所示。 Struts 2的介绍简介:Struts 2.x仍然是一个MVC框架。一般来说,某种软件的第二个版本都是起源第一个版本,但实际上,Struts 2.x是个特例,它并非起源于Struts 1.x,而是起源于WebWork框架 另一MVC的框架。因此Struts
21、 2.x与Struts 1.X是没有直接关系的。WebWork是Apache的另一个MVC框架,发布于2002年3月。WebWork 项目在起时曾参考过Struts 1.x,因为Struts 1.x当时已经是个十分流行的MVC框架(Struts 1.x起源最早,应用最广的基于MVC框架的Java Web 技术)。WebWork可以说对Struts 1.x进行了换血式的大改装,从一个新的视觉实现MVC。抛弃了request、response等基于servlet 的API。从设计思想、易用性上看,作为后来者的WebWork则应用时更胜一筹的,但是在使用上却一直不如Struts 1.x广泛。2005
22、年12月,WebWork项目与Struts项目宣布合并,并且推出Struts 2,其内核是WebWork2。Struts 2有许多新特性,例如支持主题、集成DOJO框架、内置AJAX等。Struts 2的官方网址为 HYPERLINK 。但是,Struts 2是对Struts 1.x的一个补充,而不是替代品,它们的思想是完全不同的。目前也有相当多Struts 1.x系统正运行在网络上。Struts 官方同时提供Struts 1.x与Struts 2.x的下载。Struts2 是一个基于Action的MVC框架优势 的这种设计属于无侵略式设计)。,利用拦截器可以进行AOP编程,实现如权限拦截等功
23、能。Struts 2.x提供支持多种表现层技术,如:JSP、freeMarker、Velocity等提供了全局范围、包范围和Action范围的国际化资源文件管理实现S目录下文件简介SRC目录:源文件包LIB目录:技术的相关jar包DOCS目录:帮助文档APPS目录:技术自带的相关例题Struts 2开发环境的搭建搭建Struts 2.x环境时,我们一般需要做以下几个步骤的工作:下载或者需找 MVC框架启动配置4) Struts 开发环境的配置的要求 中的jar包的下载地址: ://download.cgi#struts2014 到该网址下下载。下载如图所示:下
24、载后解压该文件,开发序号Jar包名称作用说明struts2-core-.jarstruts2框架的核心类库xwork-core-2.1.6.jarxwork类库,struts2在其上构建ognl-.jar对象图导航语言(Object Graph Navigation Language), struts2框架通过其读写对象的属性freemarker-.jarstruts2的UI标签的模板freemarker编写commons-logging-.jarASF出品的日志包,struts2框架使用这个日志来支持Log4J和JDK1.4+的日志记录commons-fileupload-1.jar文件上传
25、组件,版本后必须加入此文件注:我们所讲的Struts版本为2.1.8,本课程的开发环境为:以上,tomcat 6版本以上,MyEclipse 8版本以上,所建工程遵循J2EE规范,代码测试系统为win 7操作系统。Struts 版本开发环境要求本课程要求开发环境如下:IDE:MyEclipse 8.5数据库:Oracle 10g实战编写环境:win 7/window 2000/window xpStruts2的启动配置配置)在中, struts框架是通过Servlet启动的。在struts2中,struts框架是通过Filter启动的。他在web.xml中的配置如下: struts2!-org
26、.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*在FilterDispatcher的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。Struts2的配置文件模版Struts2默认的配置文件为struts.xml ,FilterDispatcher过滤器在初始化时将会在WEB-INF/classes下寻找该文件,该文件的配置模版如下:第一个Struts2应用第一步 project工程在MyEclipse8 工具下新建一个的web project工程,其工程
27、名为:第二步:在src目录下创建一个文件Struts2默认的配置文件为struts.xml ,我们在MyEclipse 8工具的项目中的SRC目录下新建一个xml文件命名为:,其该文件的配置如下:(注:FilterDispatcher过滤器在初始化时将会在WEB-INF/classes下寻找该文件) 注:其中: 。 在struts2框架中使用包来管理Action,包的作用和java中的类包是非常类似的,它主要用于管理一组业务功能相关的action。在实际应用中,我们应该把一组业务功能相关的Action放在同一个包下。配置包时必须指定name属性,如果其他包要继承该包,必须通过该属性进行引用。包
28、的namespace属性用于定义该包的命名空间。该属性可以不配置,对本例而言,如果不指定该属性,默认的命名空间为“”(空字符串)。通常每个包都应该继承struts-default包, struts-default包是由struts内置的,它定义了struts2内部的众多拦截器和Result类型。Struts2很多核心的功能都是通过这些内置的拦截器实现的。如:从请求中把请求参数封装到action、文件上传和数据验证等等都是通过拦截器实现的。当包继承了struts-default包才能使用struts2提供的这些功能。 struts-default包是在struts2-core-2.x.x.jar
29、文件中的struts-default.xml中定义。 struts-default.xml也是Struts2默认配置文件。 Struts2每次都会自动加载 struts-default.xml文件。包还可以通过abstract=“true”定义为抽象包,抽象包中不能包含action。其中: 在struts1中,通过path属性指定访问该action的URL路径。在struts2中,情况就不是这样了,访问struts2中的action的URL路径由两部份组成:包的命名空间+action的名称,例如访问上面例子中名为helloworld的Action的URL路径为:/test/helloworld
30、 (注意:完整路径为: :/localhost:端口/内容路径/test/helloworld.action)。如果没有为action指定class,默认是ActionSupport。而ActionSupport的execute() 方法默认处理就是返回一个success字符串。method属性用于指定action中的那个方法,如果没有指定默认执行action中的execute() 方法。第三步:新建一个java类新建的java类文件.FristAction如下:package com.hy.action;public class FristAction private String mess
31、age;private String msg;public String getMessage() return msg;public String execute()msg = Hy_0506班的第一个struts2应用开发;return success;第四步:导入jar包struts2-core-.jarxwork-core-.jarognl-.jarfreemarker-.jarcommons-logging-.jarcommons-fileupload-.jar第五步:配置 web.xml文件(struts2 启动配置) struts2 struts2 /* 第六步:建立显示页面hy
32、Frist.jsp 在工程的WebRoot目录下创建hyFrist.jsp文件其内容如下: 第一个struts2应用 $message 第七步:在IE浏览上测试程序结果: 在IE浏览器地址上输入: :/localhost:8888hy_0506/hyFrist 其显示效果如下图:注:开发环境要求:+oracle 10g解决在MyEclipse下Struts2配置文件无提示问题无提示效果如下:两种解决方法:第一种:机器连接到互联网上开发环境下的工具必须已经连接到网络上,MyEclipse 8将会自动去互联网上寻找: HYPERLINK ://dtds/strut
33、s-2.0.dtd 同过该网址到互联网上自动寻找到文件,但是呢,一旦网络丢包平凡的情况下,提示也不是很明显。第二种:配置本地化的文件我在这里把下载的文件存放在C盘根目录下,在文件目录下找文件其路径如下:C:struts--allstruts-srccoresrcmainresources在MyEclipse 8工具下配置操作步骤如下: Window Preferences MyEcilpse File and Editors XML XML Catalog add(添加按钮)点击add按钮找到文件存放的目录点击File System.按钮选择则文件输入Key:为 H
34、YPERLINK ://dtds/struts-2.0.dtd Key Type:URI点击Ok 按钮点击父窗口OK 按钮成功后:若是敲一个a达不到如下效果:在在敲完a后加上ALT+?键即一定会出现上图的效果。注:MyEclipse 8工具好像配置本地化也照样可以ALT+?作为提示,其他MyEclipse 6必须要配置本地化的文件引入。Action名称的搜索顺序包的及action类的搜索规律以我们的工程为例题,分析Action名称的搜索顺序:首先我们是在IE地址栏上输入如下地址:rist 访问到我们FristAction类中的信息,我们发现hy_0506为命名
35、空间 hyFrist为访问的路径当我在IE地址栏上敲入如下地址:发现同样可以成功的访问到FristAction类中的信息1获得请求路径的URI,例如url是: HYPERLINK :/localhost:8080/hy0506_Struts2.1_Demo1/hy_0506/xuqiao1/xuqiao2/hyFrist 2首先寻找namespace为/hy_0506/xuqiao1/xuqiao2的package,如果存在这个package,则在这个package中寻找名字为hy_0506的action,当在该package下寻找不到action时就会跑到默认namespace的packag
36、e里面去寻找action(默认命名空间),如果不存在这个package则转步骤3;注:我们把工程中的struts.xml文件改写如下: 其中:package name=hy 的命名空间名称为:/hy_0506package name=hy_it的命名空间为:默认命名空间3寻找namespace为/hy_0506/xuqiao1的package,如果不存在这个package,则转步骤4;如果存在这个package,则在这个package中寻找名字为hy_0506的action, 当在该package中寻找不到action时就会直接跑到默认namespace的package里面去找名字为hy_05
37、06的action,在默认namespace的package里面还回去寻找不到该action,页面提示找不到action;4寻找namespace为/ hy_0506的package,如果不存在这个package则执行步骤5,如果存在这个package,则在这个package中寻找名字为hy_0506中的action,当在该package中寻找不到action时就会直接跑到默认namespace的package里面去找名字为hy_0506的package里面去找hy_0506中的action在namespace的package里面还寻找不到该action,页面就会报404错误。例如: HYPE
38、RLINK :/localhost:8080/hy0506_Struts2.1_Demo1/hy_10506/xuqiao/xuqiao/hyFrist 出现的错误5寻找namespace为package,如果存在这个package,则在这个package中寻找名字为hy_0506中的action,如果还是找不到,页面提示找不 action,即404错误。例如: HYPERLINK :/localhost:8080/hy0506_Struts2.1_Demo1/hy_0506/xuqiao1/xuqiao2/hyFrist_1 出现的错误给Action配置的各项默认值在MyEclipse 8下
39、新建一个工程名为:,SRC下的java 代码仍然为:.FristAction;(配置好web.xml,导入必要的6个jar包,同样把拷贝过来)其配置如下: 新建一个其代码如下: base href= 用户查询 form action=/com/hy/list method=get 用户名: 我们在IE地址栏上敲入: HYPERLINK :/localhost:8080/hy0506_Struts2.1_Demo2/com/hy/addUsers 我们发现也可以访问到:那我们来分析一下: Action配置文件各项默认值发现如下action配置既没有class的配置又没有method的配置(met
40、hod=execute 中的execute是所有action中默认的方法,我们后面会详细的介绍),result也没有指定成功返回的name(success)值的描述 如果没有为action指定class,默认是ActionSupport如果没有为action指定method,默认执行action中的execute()方法如果没有指定result的name属性,默认值为success.对xwork-core-2.1.6.jar文件中的 ActionSupport源代码分析/=/package com.hy.action;import ;public class FristAction priva
41、te String message;private String msg;public String getMessage() return msg;public String execute()msg = Hy_0506班的第一个struts2应用开发;return success;/=/当我在 . FristAction类中引入包:; 按住Ctrl键点击ActionSupport 出现如下界面: 点击External File 导入文件,打开ActionSupport 类中的execute()方法,出现界面如下图所示:Action中result的各种转发类型继续新建一个的项目工程我们以这工
42、程为例题详解转发类型的配置,(需要把项目工程代码引入进去) list list /hy_result Result配置类似于struts1中的forward,单struts2中提供多种结果类型,常用的类型有:dispatcher(默认值)、redirect、redirectAction、plainText.注释:action中result的各种转发类型,即就是给result跳转指定一个类型我们这里重点讲解四种跳转方式: 默认跳转(dispatcher)、重定向(result)、链条式跳转、客户端跳转(chain)。dispatcher(运用服务器跳转,默认值) 若是JSP文件存放在WEB-IN
43、F下的话访问地址也可以访问到该JSP文件相当于JSP中forward跳转,但是这种跳转只能跳转到页面即只能跳转到jsp或者HTML文件或者freemarker(VIWE层的框架)页面,不能跳转到action。redirect(重定向)在result中还可以使用$属性名表达式访问action中的属性,表达式里的属性名对应action中的属性。如下: 对于修改或者删除的操作很管用相当于servlet中的重定向跳转(在IE地址上进行重定向)若是JSP文件存放在WEB-INF下的话访问地址不可以访问到该JSP文件Redirect类型的跳转也只能跳转到jsp或者HTML页面Chain(链条) 相当于JS
44、P中forward跳转,但是这种跳转与dispatcher不同可以跳转到action(例如xx.action)路径 list list /hy_result redirectAction(客户端跳转)下面是redirectAction结果类型的例子,如果重定向的action中同一个包下:hyFrist如果重定义的action在别的命名空间下: hyFrist /hyStream 下载的一种跳转,在讲解上传下载时候我会详细讲解plaintext(显示原始文件内容)plainText显示原始文件内容,例如:当我们需要原样显示jsp文件源代码的时候,我们可以使用此类型。 UTF-8注:该跳转要慎用,
45、它用于显示页面的源代码所用的。Freemarker 基于freemarker框架的跳转方式,这里就不进行详细介绍了。 header 就是发一送个 的头信息,这里就不进行详细介绍了。Velocity 基于Velocity框架的跳转方式,这里就不进行详细介绍了。Velocity和freemarker都是基于MVC模式中视图层的一个框架,现在freemarker框架比Velocity框架更加优秀,做网站需要用到这两个框架,做系统基本不用。Xslt Xslt是与XML相关修饰的XML语言,这里就不进行详细介绍了。Tiles Tiles是把一个页面分成几块,每块是可以动态进行条状,这里就不进行详细介绍了
46、。为Action属性注入值 Struts2为action 中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。第一步:新建一个工程工程第二步:导入必要包第三步:新建一java文件代码如下:package com.hy.action;public class UserManager private String username; private String pwd; private String sex;public String getUsername() return username;public
47、void setUsername(String username) this.username = username;public String getPwd() return pwd;public void setPwd(String pwd) this.pwd = pwd;public String getSex() return sex;public void setSex(String sex) this.sex = sex; public String execute() throws Exception return success; 第四步配置好 SCOTT 123 男 第五步: base href= My JSP index.jsp starting page !- $username $pwd $sex 第六步:在IE浏览器上输入如下地址:指定Struts2处理的请求后缀.其实默认后缀是可以通常量“”进行修改的,例如可以配置Struts2只处理以.do为后缀的请求路径拷贝项目,修改项目名称为:,项目访问路径也为:改写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市云阳县等2024-2025学年高三年级十六模考试生物试题试卷含解析
- 山东济宁十三中2025年初三下学期生物试题2月16日周练试题含解析
- 武昌理工学院《数据库技术基础(ACCESS)》2023-2024学年第一学期期末试卷
- 济宁医学院《数值模拟技术》2023-2024学年第二学期期末试卷
- 山东济宁任城区达标名校2024-2025学年初三下学期第四次段考物理试题试卷含解析
- 南方医科大学《大学数础(三)》2023-2024学年第二学期期末试卷
- 沈阳职业技术学院《能力进阶英语I》2023-2024学年第一学期期末试卷
- 南京特殊教育师范学院《工程定额原理与实务》2023-2024学年第二学期期末试卷
- 湖南省五市十校教研教改共同体2024-2025学年高三下学期期中联考(全国I卷)数学试题试卷含解析
- 宿州学院《咖啡文化与鉴赏》2023-2024学年第二学期期末试卷
- 小学生理财小知识主题班会精编ppt
- DBJ∕T 15-104-2015 预拌砂浆混凝土及制品企业试验室管理规范
- T-CAMET 04017.5-2019 城市轨道交通 全自动运行系统规范 第5部分:工程安全评估
- 互联网开放平台解决方案
- 腺样体肥大诊疗与腺样体切除术(概述、临床表现与危害、诊断、治疗及腺样体切除术)
- 贾宝玉形象分析PPT课件(PPT 30页)
- 建筑工程质量通病课件
- 阿坝州果蔬产业发展现状及展望
- Q∕GDW 10799.6-2018 国家电网有限公司电力安全工作规程 第6部分:光伏电站部分
- 农产品检测中心检测用样品制备作业指导书
- GMP附录5中药制剂ppt课件
评论
0/150
提交评论