Struts2概述

本文介绍了Struts2作为MVC框架的工作原理,包括其控制器如何实现及应用开发流程。涵盖Struts2的核心组件、配置方法及Action编写技巧。
1、 谈谈你对Struts 2的理解?
Struts 2是实现MVC模式的Web层框架。基于WebWork核心,并具有Struts1的一些优点。主要实现的是控制器部分的功能,可以和多种页面技术(完成视图功能)配合使用。
2、 在MVC中控制器的主要功能有哪些?
     协调输入、输出和模型之间的关系。从输入界面获取输入信息(通过request.getParameter方法),根据请求选择调用模型的业务方法,执行完之后,如果需要把结果传递给输出界面,可以把信息保存在request中或者session中(setAttribute方法),根据调用模型的结果,选择界面对用户进行响应。
3、 Struts2是如何实现MVC的控制器呢?
Struts2的控制器包括中心控制器、struts.xml和用户编写的Action。中心控制器是框架提供的,只需要在web.xml进行配置一次即可。用户在实现功能的时候,需要编写每个功能对应的Action(多个功能可以对应一个Action),然后在struts.xml中进行配置。
如何实现MVC的控制其功能:
从输入界面接收输入信息:该功能由框架完成,用户需要做的是Action中编写和输入界面中输入元素对应的属性,并提供set方法。框架从request中获取输入值,然后通过Actionset方法对属性赋值。
选择调用业务方法,每个业务方法通常对应一个Action(通常是Action的一个方法),界面发送的请求与具体的Action的对应关系是在struts.xml中进行配置的。
把值从控制器传递到界面,用户需要在Action提供相应的属性,并且提供get方法,具体的传值过程是由框架完成的。
如何响应?在Action中调用业务方法之后,方法返回一个表示输出界面的字符串,在配置文件struts.xml中配置表示界面的字符串具体对应哪个输出界面。具体的响应过程由框架来完成。
4、 具体使用Struts2框架开发应用的过程?
第一步:创建Web工程
第二步:引入Struts的类库,核心的类库有ognl.jarfreemarker.jarstruts2-core.jarwebwork.jarcommon-logging,这些类库最终都应该在web-inf/lib下面。
第三步:在web.xml中声明中心控制器。
       <filter>
              <filter-name>struts2</filter-name>
              <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
       </filter>
 
       <filter-mapping>
              <filter-name>struts2</filter-name>
              <url-pattern>/*</url-pattern>
       </filter-mapping>
通过这样的配置,所有的请求都会发送给中心控制器。
第四步:在工程中创建struts2的配置文件struts.xml。配置我们编写的每个Action,还有请求与Action对应关系,执行结果(字符串)与响应界面的对应关系。一般从其他地方拷贝,不要自己写。
第五步:编写Action,配置Action。在开发过程中主要是这一步。
5、 如何编写Action
Action类可以是普通的类,可以是实现Action接口的类,可以是继承ActionSupport的类。Action接口是execute方法和几个常量,通常不使用。ActionSupport实现了Action接口,并且封装了对国际化和验证的支持,如果项目需要使用验证和国际化等功能,可以继承该类。
Action类中的方法(控制方法),方法的返回值是字符串,是逻辑名字,表示某个输出界面。方法没有参数。对应每个请求都应该有这样一个方法。
为了获取输入信息,需要定义与输入元素名字相同的成员变量,并提供set方法。为了输出,需要编写成员变量来表示这些输出信息(在控制方法中对成员变量赋值),并提供get方法供框架调用。
6、 如何配置Action
struts.xml中配置。主要包括两部分:请求与具体的Action的方法的对应关系;Action中的控制方法返回的字符串与具体的响应界面的对应关系。
请求与Action方法的对应关系:
²        <action name="login" class="action.UserAction" method="login">
name指出请求的名字,class指出Action类的名字,method指出方法的名字
²        <action name="login" class="action.UserAction">
如果没有指定method方法,默认找Action中的execute方法
²        也可以在请求中指定方法的名字
login!login.action,“!”之前是请求的名字,“!”之后是方法的名字,这样在配置的时候就可以不指定方法的名字。
执行结果的配置:
<result name="success">/success.jsp</result>
【顶级EI完美复现】电力系统碳排放流的计算方法【IEEE 14节点】(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI完美复现】电力系统碳排放流的计算方法【IEEE 14节点】(Matlab代码实现)》的技术文档,核心内容是基于IEEE 14节点电力系统模型,利用Matlab实现碳排放流的精确计算方法。该方法通过建立电力系统中各节点的功率流动与碳排放之间的映射关系,实现对电能传输过程中碳足迹的追踪与量化分析,属于电力系统低碳调度与碳流管理领域的关键技术。文中强调“顶级EI完美复现”,表明其算法和仿真结果具有较高的学术严谨性和可重复性,适用于科研验证与教学演示。; 适合人群:电力系统、能源与动力工程、电气工程及其自动化等相关专业的研究生、科研人员以及从事电力系统低碳化、碳排放核算工作的技术人员。; 使用场景及目标:①用于电力系统碳排放流理论的学习与仿真验证;②支撑含新能源接入的电力系统低碳调度、碳交易、绿色电力溯源等课题的研究;③为撰写高水平学术论文(如EI/SCI期刊)提供可靠的代码基础和技术参考。; 阅读建议:读者应具备电力系统分析、Matlab编程的基础知识,建议结合电力系统潮流计算、节点导纳矩阵等前置知识进行学习,并通过调整系统参数和运行方式,深入理解碳排放流的分布规律与影响因素。
代码下载地址: https://pan.quark.cn/s/8df3eda21112 Coolweather是一款广受欢迎的开源Android应用,其核心用途在于呈现天气相关信息。 所谓的"最新版的Coolweather的源代码"囊括了开发者为了达成应用各项功能而创建的全部Java类与XML配置文件,堪称探究Android应用构建的珍贵素材。 当前,负责维护的应用团队正筹划引入一项"检索必应每日一图"的新特性,此举旨在为用户创造更加多姿多彩的视觉感受。 在Android应用程序的设计过程中,检索必应每日一图一般关联到以下几个核心的技术要点:1. **网络通信**:程序需要与必应服务端进行交互以取得图片的链接地址。 开发者可以选用`HttpURLConnection`或是诸如`Volley`、`Retrofit`、`OkHttp`这类第三方框架来发起HTTP请求。 请求的地址一般是必应每日壁纸服务的接口网址。 2. **JSON数据解读**:必应服务端反馈的信息大多以JSON格式展现,必须借助`Gson`、`Jackson`或`org.json`等工具来解析JSON内容,从中获取图片的链接路径。 3. **非阻塞操作**:鉴于网络操作可能耗费一定时间,为了避免干扰主线程的流畅运行,通常会借助`AsyncTask`、`IntentService`或`Handler`/`Looper`系统在后台执行网络通讯及数据解析任务。 4. **图像载入框架**:为了优化图片的展示效果,构建者常会运用诸如`Glide`、`Picasso`或` Fresco`这类图像载入框架,它们能够自动管理内存缓存、磁盘缓存以及图像的缩放与加载流程。 5. **授权请求**:从Android 6.0(API版本号...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值