1、创建控制器
每个request都会创建一个控制器实例,用于处理请求,控制器能产生响应并渲染指定的视图。控制器的类名必须以Controller结尾,比如ApplicationController, HelloController等。
2、创建操作
每个控制器可以有多个操作,每个操作将会映射到URI上,比如
public class BookController extends ApplicationController{
public void index(){
}
public void list(){
}
public void show(){
}
}
将会映射到/myweb/book/index, /myweb/book/list, /myweb/book/show。
如果一个操作不存在,将会选择index的操作,比如对于/myweb/book这个URI的请求,将会尝试查找并执行Book控制器中的index动作。
3、隐式对象
控制器因为继承了Controller,所以可以操作Controller中的一些对象,常用的对象如下:
- request
- response
- session
- servletContext
- flash
- controllerName
- actionName
其作用可以从名称中猜到吧。
4、视图
控制器中每个动作一般都会渲染一个视图,默认将使用JSP视图,即对于上面的Book控制器,将会对应使用/WEB-INF/views/book目录中的index.jsp, list.jsp, show.jsp页面。
每个控制器将对于一个目录,目录名称对应控制器名称,但必须是小写的,每个动作将对应一个模板文件,这依赖于动作所使用的视图类型。
框架支持多种视图的类型,并且可以自行扩展,比如可以使用JspView, TextView, JsonView, FreeMarketView, BinaryView等,那么如何使用不同的视图类型呢,这通过动作的返回值进行选择。比如
public JsonView create() throws Exception{
Map<String,Object> result = new HashMap<String,Object>();
result.put("success", true);
//...
return new JsonView(result);
}
这个create动作将使用JsonView视图,也即返回json的字符串信息。其他使用视图的方式类推,如果没有明确指定何种视图,即返回值是void的情况,将会默认使用Jsp视图。
分享到:
相关推荐
500W电动车控制器原理图文档将详细展示这些电路的布局和连接方式,帮助读者理解控制器的工作原理和设计思路。通过深入学习和理解这份原理图,不仅可以提高电动车维修和保养技能,也为DIY爱好者提供了宝贵的参考资料...
在文件"assign2_tuning_adaptive.m"和"assign2_adaptive.mdl"中,可能包含了EMK控制器的参数调整和仿真过程,这有助于理解控制器性能的优化。 自适应控制器则是另一种处理非线性系统的方法,它能够根据系统的实际...
流程图有助于理解控制器如何在不同阶段生成适当的控制信号来协调各个部件的动作。 4. 组合译码表:这个表列出了不同指令对应的控制信号组合,如KRD、KWE、KLD等,这些信号控制了ALU的操作、寄存器的读写以及地址...
4. 运行仿真,观察输出电压随时间的变化,理解控制器如何调整占空比以维持稳定输出。 5. 调整控制器参数,观察系统性能的变化,进一步理解控制器参数优化的重要性。 同时,`license.txt`文件可能是MATLAB软件的许可...
源代码是理解控制器工作原理的关键。本项目中的源代码经过了详细注释,对每个功能模块和函数都有清晰的解释,这对于初学者或开发者来说是一份宝贵的资源。详细注释使得代码易于理解,降低了解决问题和二次开发的难度...
2. **控制器接口**:理解控制器与主机系统之间的通信协议,如I2C、SPI、UART或GPIO等。 3. **库函数使用**:深入学习并理解库函数的使用方法,包括参数含义、返回值以及可能出现的错误状态。 4. **控制逻辑**:...
说明书则是理解控制器功能和操作的重要文档。它通常包括控制器的硬件结构、接口定义、软件功能描述、操作指南、故障排除等内容。对于使用者来说,说明书提供了安装、调试和维护控制器的指导。 电动汽车整车控制器的...
了解上位机的开发和使用,有助于我们理解控制器与外部世界的交互方式,以及如何通过编程实现远程控制和数据采集。 最后,“个人总结的M8程序”和“参考程序”提供了开发者的实践经验,这是一份宝贵的学习资源。通过...
阅读这部分内容将有助于深入理解控制器的数学基础和设计方法。 "ThreePhaseThyristorBlockIcon.jpg"可能是代表晶闸管控制模块的图标,晶闸管在三相电压控制器中起着开关作用,允许我们精确控制流经电路的电压。晶闸...
原理图是理解控制器硬件设计的关键,它详细展示了各个电子元件如单片机、存储器、输入/输出接口、电源模块等之间的连接方式,帮助开发者了解信号流动路径和功能实现。 2. **09K2522_仿PLC控制器.rar**: 这可能是...
5. **通讯协议**:学习如CAN、SPI、UART等常用串行通讯协议,理解控制器如何与外部设备进行数据交换。 6. **故障诊断与处理**:掌握常见故障的识别方法,以及在固件中如何设计相应的保护机制。 通过研究这个大型...
1. rd1007.pdf:这可能是一个关于FPGA或SDRAM技术的文档,或者是设计指南,帮助用户理解控制器的工作原理。 2. readme.txt:这是一个常见的文本文件,通常包含有关压缩包内容的简要说明或使用指导。 3. ...
这个"计算机组成原理-微程序控制器实验.zip"文件包含了关于微程序控制器的实验资料,包括电路图、运行过程的录屏,这些内容对于学习者深入理解微程序控制器的工作机制非常有帮助。 微程序控制器,也称为微码控制器...
此外,通过对系统性能的分析,理解控制器参数对系统动态特性的影响,进一步优化控制器的设计,以满足设定的控制目标。这个课程设计为学生提供了理论与实践相结合的学习机会,强化了他们对自动控制原理的理解和应用...
本实验的目的是让参与者深入理解微程序控制器的工作原理,掌握其组成、设计方法以及调试技巧。 微程序控制器的核心思想是将机器指令分解为一系列更细粒度的微指令(Microinstructions),这些微指令在控制存储器...
在实际部署中,开发者和网络管理员需要对ZooKeeper的配置、调优和监控有深入理解,以确保在多控制器环境中,ZooKeeper能够充分发挥其作用,支持SDN网络的高效运行。同时,持续关注ZooKeeper和SDN技术的最新进展,...
首先,我们要理解无线风扇控制器的核心技术。这通常涉及到微控制器(如Arduino或Raspberry Pi)和无线通信模块(如Wi-Fi或蓝牙)。微控制器是系统的大脑,负责接收用户的指令并控制风扇的开关、速度等参数。无线通信...
在本实验中,学生需要理解控制器如何根据反馈信号调整输出,以达到预定的控制目标。 二、实验设计 实验设计通常包括控制器的选择、系统模型的建立以及控制策略的确定。例如,可能涉及到PID(比例-积分-微分)控制器...
总之,"s-function编写PID控制器"提供了亲自动手实现和理解PID控制器的机会,这对于学习控制理论和MATLAB编程的人来说是一次宝贵的实践经历。通过这种方式,不仅可以提升编程技能,还能加深对控制系统设计的理解。