struts2总结

2025-01-07 版权声明 我要投稿

struts2总结(共5篇)

struts2总结 篇1

(1)struts.xml 配置示例:

“-//Apache Software Foundation//DTD Struts Configuration 2.0//EN”

“http://struts.apache.org/dtds/struts-2.0.dtd”>

HelloWorld

/example

(2)struts.properties配置文件 # # $Id: struts.properties 722328 2008-12-02 01:56:24Z davenewton $ # # Licensed to the Apache Software Foundation(ASF)under one # or more contributor license agreements.See the NOTICE file # distributed with this work for additional information # regarding copyright ownership.The ASF licenses this file # to you under the Apache License, Version 2.0(the # “License”);you may not use this file except in compliance # with the License.You may obtain a copy of the License at # # http://

struts2控制器

(1)核心控制器: FilterDispatcher(在web应用中负责拦截所有的用户请求)

如果用户的请求以.ation结尾,则该请求被转入struts2框架处理。

(2)业务控制器: Action(在struts2中起作用的实际上不是用户自定义的Action,而是系统自动生成的action代理,但该代理是以用户自定义的action为目标的)Action 举例:

package com.user.action;

public class Login {

} 由以上代码可知:struts2中的action完全是普通的java类。Struts2中action接口不是必须实现的,任何包含有execute()方法的pojo(plain ordinary java object)private String userName;private String password;public String getUserName(){ } public void setUserName(String userName){ } public String getPassword(){ } public void setPassword(String password){ }

public String excute(){

} if(“admin”.equals(userName)&&(“password”.equals(password))){

} return “success”;return “error”;}else{ this.password = password;return password;this.userName = userName;return userName;对象都可以作为struts2的action对象。struts2标签库

<%@ page language=“java” import=“java.util.*” pageEncoding=“gbk”%> <%@ taglib prefix=“s” uri=“/struts-tags”%>(引入struts标签)

struts2标签

通讯录


Struts2的体系结构 篇2

定义常量

常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,两种配置方式如下: struts.xml

struts.properties

struts.action.extension=do

通常,struts2按如下搜索顺序加载struts2常量: struts-default.xml struts-plugin.xml struts.xml

struts.properties web.xml

如果在多个文件中配置了同一个常量,则后一个文件中配置的常量值会覆盖前面文件中配置的常量值.常用的常量

Struts2的Action(业务逻辑控制器)

相对与Struts1而言,struts2采用了低侵入式的设计,struts不要求Action类继承任何的Struts2基类,或者实现任何Struts2接口,在这种设计下,Struts2的Action类是一个普通的POJO,通常只需要包含一个无参的execute方法,从而有很好的代码复用性。

但为了让用户开发Action类更加规范,Struts2提供了一个Action接口,这个接口定义了Struts2的Action处理规范。下边是一个标准Action接口的代码。

Public interface Action{

Public static final String ERROR=”error”;

Public static final String INPUT=”input”;

Public static final String SUCCESS=”success”;

Public static final String NONE=”none”;

Public static final String LOGIN=”login”;

//定义处理用户请求的execute方法

Public String execute()throw Exception;}

另外Struts2还提供了一个实现类:ActionSupport(Action的实现类),该类中提供了许多默认的方法,这些默认的方法包括国际化信息的方法,数据校验的方法,默认的处理用户请求的方法。继承该类能大大的简化Action的开发。

三、使用struts2封装表单元素的值:

1.属性驱动:直接在Action中添加属性和对应的getter和setter方法 2.模型驱动:

a)必须实行ModelDriven接口,并且重新getModel方法 b)初始化属性 private Userinfo user = new Userinfo();c)在页面上表单元素的名称为实体类的属性名称

四、如何获取servlet API中的对象(request,session,application)等

1. 使用ActionContext获取对象(Map)

2.使用ServletActionContext对象获取

3.使用DI注入的方式(IoC方式)

a)实行相应的接口(xxxAware),request对象的接口(ServletRequestAware),response(ServletResponseAware),session(SessionAware)等

struts2总结 篇3

Model:使用java类来实现(也可以使用spring容器管理的javabean,ejb等)View:使用jsp Controller:使用servlet或者filter 优点:

1.model可以被多个view共享,model处理之后的结果可以使用不同的界面来展现,多种不同类型的界面,可以调用相同的model 来处理。

2.model可以当便测试(如,将业务逻辑写在了servlet力需要部署servlet然后才能测试)如果也业务逻辑写在一个java类当中,测可以立即测试 3.方便分工合作 4.方便代码的维护 缺点:

增加代码量(相应的开发周期要延长,并且,要相应增大了设计的难度)。所以,一般来说,对于需要良好的可维护性且项目规模比较大的项目可以用MVC。

Struts2框架的工作流程图

Struts2框架的工作流程

1)服务器启动,创建StrustsPrepareAndExecuteFilter对象,并解析struts.xml配置文件

2)客户端发出action请求后,控制器会调用ActionMapper(Action映射器)完成请求与Action组件之间的映射,便于调用Action处理

struts2总结 篇4

【摘 要】随着全球经济的发展及科学技术的不断进步,21世纪人类社会正在逐步进入信息时代,信息技术应用范围越来越广,几乎融入社会活动的所有领域,人类已开始对信息技术产生依赖性。通过信息技术实现了智能化、高效化、自动化、无纸化办公,信息管理系统成为了人们工作中不可或缺的重要工具。新经济环境下,社会活动中产生的信息量越来越大,内容越来越多,传统人工信息管理模式已难以取得预期效果,不仅效率低,有效性差,且易造成信息数据丢失或损坏,将影响信息资源利用率。想要对信息资源进行有效管理,保障信息安全,提高信息资源利用率,就要进行信息化建设,融入信息技术,应用信息管理系统。本文将针对基于Struts2的信息管理系统设计与实现展开研究和分析。

【关键词】Struts2;信息系统;系统设计;系统实现

0 引言

21世纪是一个信息时代,谁拥有信息,谁就拥有优势。想要提高信息管理水平,最大限度发挥信息资源优势,以获得最大经济效益目标,离不开对信息管理系统的应用。信息管理系统是利用现代管理思想和方法,以电子计算机为载体,采用计算机软件和网络通讯技术,对各种信息进行收集、处理、存储、分析、管理的系统。基于Struts2的信息管理系统结构研究,能够实现信息资源采编、交流、维护、发布、管理等功能的一体化,能够有效提高信息发布的时效性、准确性,更有利于信息资源管理和开发,目前已广泛应用到了各个领域,研究Struts2的信息管理系统设计与实现具有重要意义。

1 信息管理系统

信息管理系统是随着信息技术、计算机技术、网络技术的普及发展起来的新型产物。通过信息管理系统便能够对相关信息进行收集、加工、处理、传递、储存、共享、利用、交流、管理。以当代处理信息方法为依据,附加进电子计算机技术,来进行进一步的信息分析。信息管理系统的应用能够充分利用信息资源获得最大信息资源利用率。该系统涉及经济学、管理学、计算机科学等很多学科,具有辅助决策功能。

信息管理系统作为一种新型的信息集成中心而存在,它不仅可以提供当前信息的分析与处理,还可以对未来一段时间内的信息进行合理性预测。这样的系统可以作为企业信息的核心来工作,并在企业发展中起到非常重要的作用。在信息化的时代,企业需要这种信息系统来为企业的运行指引方向,同时信息管理系统也可以在企业的竞争当中起到至关重要的积极作用。目前在医疗、教育以及企业等方面,信息管理系统已经得到广泛应用。不同类型的信息管理系统设计思路不同,系统结构不同,功能不同,特征不同,所以适用范围也不同。目前市面上常见的信息管理系统绝大多数是从社会活动需要和将来发展战略角度出发进行设计,以提高系统的针对性和科学性。如企业信息管理系统,往往针对企业实际情况而设计,无法应用于医院管理或校园管理当中。信息管理系统可以被看做一种信息集成中心,可以进行所有采集信息的处理与分析一个完善的信息管理系统能够将各类数据信息通过计算机准确的进行处理与分析,从不同角度得到不同分析结果,为信息使用者提供决策依据,使信息使用者能够第一时间得到相关信息。并且目前许多信息管理系统已经实现网络化,能够根据内部和外部信息的变化,对相关信息内容进行变化和调整,实现动态化信息管理。这种信息管理方式,效率更高,更加灵活,有效节约了管理成本,降低了管理难度。传统纸质信息资源,易丢失、损坏、折皱、受潮,且使用不方便,管理工作量大,不利于使用和归档分析。相比之下,信息管理系统应用优势十分明显,积极推广和应用信息管理系统具有重要意义。

2 Struts的基本介绍

struts2总结 篇5

第1章 框架概述

什么是框架,为什么使用框架,框架优点

框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题

框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。框架是在特定的领域内解决问题。优点

重用代码大大增加,软件生产效率和质量也得到了提高

使用框架开发,它提供统一的标准,大大降低了我们的后期维护。学习框架重点:了解框架做了什么,我们要在这个基础上在做什么事情。

第2章 java开发中常用框架

SSH

(SSM SSI)SSH struts2 spring hibernate SSM(SSI)springmvc spring mybatis(ibatis)

SSH 它是企业开发中比较主流的一套架构。SSH框架在开发中所处的位置:

黑马程序员郑州中心 编著

第3章 Struts2框架介绍

什么是struts2框架,学习struts2框架的核心。

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互

Struts2=struts1+webwork

问题:struts2是一个mvc框架,它的mvc是什么?

javaweb开发中的mvc,是在jsp的model2模式中提过 Model------javabean View--------jsp Controller----servlet

黑马程序员郑州中心 编著

核心点: 1.拦截器 interceptor 2.Action 3.ognl与valueStack

在现在开发中与struts2比较类似的框架有哪些? Struts1 webwork springmvc jsf

Struts2框架流程

黑马程序员郑州中心 编著

第4章 今天内容介绍与重点

今天内容:

一个简单的登录案例

在这个案例中,我们要使用struts2框架怎样解决

重点: 1.struts2框架如何完成原来由servlet完成的工作。2.Struts2框架如何完成请求参数的封装处理 3.Struts2框架如何完成页面跳转。

黑马程序员郑州中心 编著

第5章 简单登录案例原型

需要三个jsp页面

login.jsp

success.jsp failer.jsp 还需要一个servlet

LoginServlet 主要完成的是业务逻辑操作。

login.jsp

LoginServlet

黑马程序员郑州中心 编著

第6章 Struts2框架来完成登录操作

6.1 问题:为什么使用struts2框架?

Struts2框架它是一个在web中应用的mvc框架。我们使用strtus2框架来完成web开发有什么优势?

6.2 问题:怎样使用strtuts2框架

首先要上网下载它的jar包。步骤: 1.导入相关的jar文件

2.需要在web.xml文件中配置一个Filter(只有配置了它才可以使用struts2框架)

黑马程序员郑州中心 编著

3.struts.xml配置

4.创建Action来完成逻辑操作

6.3 快速入门

我们使用的是struts2 2.3.24版本

我们使用strtus2框架不是直接将它的lib包下的所有的jar文件copy到项目中,而是使用其中的一部分。

我们可以参考它的示例代码:

1.导入13个jar包

2.需要在web.xml文件中配置StrutsPrepareAndExecuteFilter 3.创建一个struts.xml文件,它的位置是可以放置在src下。

黑马程序员郑州中心 编著

6.3.1 代码实现 6.3.1.1 jsp页面

6.3.1.2 Action

6.3.1.3 struts.xml文件配置

6.3.2 流程分析

黑马程序员郑州中心 编著

6.4 使用struts2完成简单登录操作

1.login.jsp页面不变动

2.创建一个LoginAction来完成逻辑操作 3.在struts.xml文件中完成配置操作

问题1:在LoginAction中如何得到username与password 可以直接在Action类中提供成员属性,并为其提供get/set方法。就可以得到请求参数

问题2:如果实现路径跳转?

1.我们可以给action中的方法添加一个String返回值

2.在struts.xml配置文件中,在其对应的action配置上通过来确定跳转的路径。

黑马程序员郑州中心 编著

第7章 Struts2框架执行流程

7.1 Struts2源码导入

对于struts2框架它的源代码我们主要使用三部分 1.struts2核心部分源代码

org.apache.struts2xx

srccoresrcmainjava

2.struts2的xwork核心部分源代码

srcxwork-coresrcmainjavacomopensymphonyxwork2 3.struts2的插件的源代码

srcplugins 7.2 关于struts.xml配置文件中提示问题

第一步

在eclipse的window下首选面中查找xml catalog 第二步

Location:配置本地的dtd文件路径 key type:选择URI

黑马程序员郑州中心 编著

Key: http://struts.apache.org/dtds/struts-2.3.dtd

注意版本要对应,如果你可以上网,那么会自动缓存dtd,具有提示功能。

7.3 执行流程介绍

1.当通过浏览器发送一个请求

2.会被StrutsPrepareAndExecuteFilter拦截

3.会调用strtus2框架默认的拦截器(interceptor)完成部分功能 4.在执行Action中操作

5.根据Action中方法的执行结果来选择来跳转页面Resutl视图

一般管StrutsPrepareAndExecuteFilter 叫做前端控制器(核心控制器),只有配置了这个filter我们的strtus2框架才能使用。

黑马程序员郑州中心 编著

Strtus2的默认拦截器(interceptor)它们是在struts-default.xml文件中配置 注意:这上xml文件是在strtus-core.jar包中。默认的拦截器是在defaultStack中定义的。

第8章 Struts2配置详解

8.1 Struts2配置文件加载顺序

第一个加载的是default.properties文件

位置:strtus2-core.jar包

org.apache.struts2包下 作用:主要是声明了struts2框架的常量

第二个加载的是一批配置文件

Strtus-default.xml 位置:struts2-corl.jar

作用:声明了interceptor result bean Strtus-plugin.xml 位置:在strtus2的插件包中 作用:主要用于插件的配置声明 Strtus.xml

黑马程序员郑州中心 编著

位置:在我们自己的工程中

作用:用于我们自己工程使用strtus2框架的配置 第三个加载的是自定义的strtus.properties 位置:都是在自己工程的src下 作用:定制常量 第四自定义配置提供

第五加载的是web.xml配置文件

主要是加载strtus2框架在web.xml文件中的相关配置.第六 bean相关配置

重点掌握: 1.Default.properties 2.Struts-default.xml 3.Struts-plugin.xml 4.Strtus.xml 5.web.xml

8.2 struts.xml文件配置介绍

8.2.1 package配置

1.name属性

作用:定义一个包的名称,它必须唯一。

黑马程序员郑州中心 编著

2.namespace属性 作用:主要是与action标签的name属性联合使用来确定一个action 的访问路径

3.extends属性 作用:指定继承自哪个包。一般值是strtus-default strtus-default包是在strtus-default.xml文件中声明的。

4.abstruct属性 它代表当前包是一个抽象的,主要是用于被继承

8.2.2 action配置

1.name属性 作用:主要是与package的namespace联合使用来确定一个action的访问路 径

2.class属性

作用:用于指示当前的action类

3.method属性

作用:用于指示当前的action类中的哪个方法执行

8.2.3 result配置

它主要是用于指示结果视图

1.name属性 作用是与action类的method方法的返回值进行匹配,来确定跳转路径 2.type属性 作用是用于指定跳转方式

8.2.4 扩展

关于action配置中的class与method的默认值以及result中的name与type 默认值问题

原因:strtus-default.xml文件中配置

黑马程序员郑州中心 编著

它的作用就是当一个请求来时,如果查找不到指定的class及对应的method就会执行 ActionSupport类中的execute方法。

在这个类的execute方法中默认返回的是”success”

也就是说,result的name属性默认值是success,默认的跳转方式是请求转发 dispatcher

8.3 常量配置

default.properties文件中定义了struts2框架常用常量.问题:我们怎样可以定义常量

1.可以在src下创建一个strtus.properties配置文件 2.可以在web.xml文件中配置

3.可以直接在strtus.xml文件中定义常量(推荐)

注意:后加载的配置文件中的常量会将先加载的常量覆盖

第9章 Struts2的Action详解

Struts2中的action,主要是完成业务逻辑操作。Action替代在servlet中完成的作用。

黑马程序员郑州中心 编著

Action的学习主要有两点

1.如何创建一个struts2的action 2.如果访问一个struts2的action

1. Action类创建方式(三种)1.创建一个pojo类

Pojo(plani Ordinary java object)简单的java对象 Pojo类就是没有实现任何接口没有继承任何类 优点:无耦合

缺点:所有的功能都要自己完成

2.创建一个类实现一个Action接口

com.opensymphony.xwork2.Action

在Action接口中定义了五个常量,一个execute方法 五个常量:它们是默认的五个结果视图: ERROR : 错误视图

INPUT: 它是struts2框架中interceptor中发现问题后会访问的一个视图 LOGIN:它是一个登录视图,可以在权限操作中使用

黑马程序员郑州中心 编著

NONE:它代表的是null,什么都不做(也不会做跳转操作)SUCCESS:这是一个成功视图 优点:耦合度低

缺点:还是需要自己来完成功能

3.创建一个类继承ActionSupport类

com.opensymphony.xwork2.ActionSupport ActionSupport类也实现了Action接口。我们在开发中一般会使用这种方案: 优点:具有丰富的功能,例如

表单校验 错误信息设置

国际化 缺点:耦合度高

9.1 action的访问方式

1.直接通过标签来配置,通过method来指定访问的方法,如果method没有,默认访问的是execute方法。

2.简化的action访问方式,可以使用*通配符来访问。

这种方式的缺点:不建议使用过多的*号,它带来程序阅读障碍,不便于理解 使用*来简化操作方案,它对名称规范必须进行一个统一。

黑马程序员郑州中心 编著

9.2 扩展--动态方法调用

这是strtus2提供的动态方法调用。

注意:对于strtus2的动态方法调用,要想使用我们必须配置一个常量来开启动态方法调用

这代表动态方法调用没有开启

黑马程序员郑州中心 编著

个人不建议使用动态方法调用

第10章 Struts2框架封装数据

主要解决的问题:是在action中如果获取请求参数

主要有两种方式: 1.属性驱动

a.直接在action类中提供与请求参数匹配属性,提供get/set方法

b.在action类中创始一个javaBean,对其提供get/set,在请求时页面上要进行修改,例如 user.username user.password ,要使用ognl表达式

以上两种方式的优缺点: 第一种比较简单,在实际操作我们需要将action的属性在赋值给模型(javaBean)去操作 第二种:不需要在直接将值给javaBean过程,因为直接将数据封装到了中。它要求在页面上必须使用ognl表达式,就存在页面不通用问题。javaBean

2.模型驱动

步骤: 1.让Action类要实现一个指定接口ModelDriven 2.实例化模型对象(就是要new出来javaBean)3.重写getModel方法将实例化的模型返回。

黑马程序员郑州中心 编著

对于模型驱动它与属性驱动对比,在实际开发中使用比较多,模型驱动缺点,它只能对

一个模型数据进行封装。

第11章 总结

今天主要内容是围绕着简单的登录案例来讲解: 1.关于strtus2框架的环境搭建 2.关于strtus2框架配置 3.关于strtus2框架请求参数封装 4.关于strtus2框架的路径跳转

关于action访问的配置

黑马程序员郑州中心 编著

namespace=””

extends=””>

class=””

method=””>

路径

关于路径跳转问题: 是通过来配置跳转的路径.它的name属性是与action中的方法的返回值进行对比的。它的type属性可以取哪些值?

默认值是dispatcher 它代表的是请求转发。针对于jsp页面 redirect 它代表的是重定向

针对于jsp页面

chain 它类似于请示转发,只不过它是针对于action跳转.redirectAction 它类似于重定向

针对于action 关于路径跳转的配置

可以直接在

下创建全局的result

黑马程序员郑州中心 编著

上一篇:100字的作文下一篇:考前模拟试题中级经济法练习十一