实现接口Controller定义控制器
实现接口Controller定义控制器
控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现。 控制器解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器可以包含多个Action(动作、方法)。
方法一:实现接口Controller定义控制器
Controller是一个接口,处在包org.springframework.web.servlet.mvc下,接口中只有一个未实现的方法,具体的接口
FooController.java
package com.wbg.spring;import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class FooController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {return new ModelAndView("/view/index", "message", "Hello,我是通过实现接口定义的一个控制器");} }
View Code
springmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.3.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd"><!-- Spring MVC不处理静态资源 --> <mvc:default-servlet-handler /><!-- 支持mvc注解驱动 --> <mvc:annotation-driven /> <!-- 视图解析器 --> <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"id="internalResourceViewResolver"><!-- 前缀 --><property name="prefix" value="/WEB-INF" /><!-- 后缀 --><property name="suffix" value=".jsp" /> </bean><bean name="/foo" class="com.wbg.spring.FooController"></bean> </beans>
View Code
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Foo</title> </head> <body> ${message} </body> </html>
View Code
运行结果
方法二:使用注解@Controller定义控制器
org.springframework.stereotype.Controller注解类型用于声明Spring类的实例是一个控制器(在讲IOC时还提到了另外3个注解);Spring可以使用扫描机制来找到应用程序中所有基于注解的控制器类,为了保证Spring能找到你的控制器,需要在配置文件中声明组件扫描。
Controller02.java
package com.wbg.spring;import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping;@Controller public class Controller02 {@RequestMapping("/fs")public String index(Model model){model.addAttribute("message","这是通过注解的一个控制器");return "/view/index";} }
View Code
在springmvc-servlet.xml加上支持注解
<!-- 自动扫描包,实现支持注解的IOC --> <context:component-scan base-package="com.wbg.spring" />
运行结果
转载于:https://www.cnblogs.com/weibanggang/p/9845937.html
实现接口Controller定义控制器相关推荐
- Java控制器controller_实现接口Controller定义控制器
实现接口Controller定义控制器 控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现. 控制器解析用户的请求并将其转换为一个模型.在Spring MVC中一个控制器可以包含 ...
- 支付宝支付 第七集:产品数据接口的定义和测试
支付宝支付 第七集:产品数据接口的定义和测试 一.目录结构 二.代码 数据库SQL脚本(使用查询-新建查询) /* Navicat MySQL Data Transfer Source Server ...
- controller(控制器)
1.controller架构介绍 2.Onix分布式controller模型 3.FloodLight 4.Ryu 5.NOX/POX 6.Trema 一.controller架构介绍 control ...
- java定义常量语法错误的是_在Java接口中定义常量,下面语法错误的是( )_学小易找答案...
[单选题]Why did Ben's emotions change so much? [判断题]Write the title in the middle of the first line. [单 ...
- sd卡座封装尺寸_【SD卡座接口引脚定义及结构尺寸封装】 - 太平洋安防网
[参数说明] 品牌: [详细描述] SD卡座是一种基于半导体快闪存储器的电子元器件,由于SD卡座的功能优势上数据传输快速.移动灵活.数据安全保密,以及结构一体化等.在目前几乎大多数电子设备的应用上都需 ...
- Kubernetes(k8s)的RC(Replication Controller)副本控制器
1.RC(Replication Controller)副本控制器,Replication Controller的作用. 应用托管在kubernetes之后,kubernetes需要保证应用能够持续运 ...
- Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)
1. 类型别名定义 定义类型别名的写法为: type TypeAlias = Type 类型别名规定: TypeAlias 只是 Type 的别名,本质上 TypeAlias 与 Type 是同一个类 ...
- java接口如何定义常量 c_在Java接口中怎样访问定义的常量呢?
java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...
- java类接口实验_实验3_Java类的继承和接口的定义和使用
本次有三题:学会Java类的继承.接口的定义和使用 // Ex3_1.java /** * 题目要求: * 修改例5.7(P95)实现在页面中拖动鼠标画出矩形,矩形的对角线为点击并拖动鼠标形成的直线线 ...
最新文章
- 画布之轮播图片HTML5,Axure原型设计之轮播图
- Introduction to pinatrace annotate version 2: a look into latches again
- 如何理解矩阵特征值?
- c#窗体程序生成错误_用C#语言做的窗体程序中出错恶劣怎么办?
- Sklearn参数详解—LR模型
- Mysql快照读和当前读
- 为VMware虚拟主机添加新磁盘
- 树状数组成段更新模板
- Redis(九):Redis特殊类型之geospatial
- C++---------之--------【虚析构函数】
- java 关闭dos_java批处理启动 关闭
- Hyperledger Fabric服务器配置及修改Docker容器卷宗存储根目录/位置
- [补档]noip2019集训测试赛(十五)
- Javascript第四章匿名函数第七课
- PHP数据处理之下载远程图片到本地
- vivo手机如何隐藏应用 vivo手机隐藏应用方法
- k8s pod控制器详解(ReplicaSet、Deployment、Horizontal Pod Autoscaler)
- adb在小米电视上安装QQ 并使用遥控器操控部分功能
- html中canvas动画游戏显示,【Fes】基于canvas的前端动画/游戏入门(一)
- C语言编程宏定义的优缺点,C语言重要知识点总结(二)--内存结构、函数调用过程(栈帧)、宏的优缺点以及##和#的使用...