实现接口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定义控制器相关推荐

  1. Java控制器controller_实现接口Controller定义控制器

    实现接口Controller定义控制器 控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现. 控制器解析用户的请求并将其转换为一个模型.在Spring MVC中一个控制器可以包含 ...

  2. 支付宝支付 第七集:产品数据接口的定义和测试

    支付宝支付 第七集:产品数据接口的定义和测试 一.目录结构 二.代码 数据库SQL脚本(使用查询-新建查询) /* Navicat MySQL Data Transfer Source Server ...

  3. controller(控制器)

    1.controller架构介绍 2.Onix分布式controller模型 3.FloodLight 4.Ryu 5.NOX/POX 6.Trema 一.controller架构介绍 control ...

  4. java定义常量语法错误的是_在Java接口中定义常量,下面语法错误的是( )_学小易找答案...

    [单选题]Why did Ben's emotions change so much? [判断题]Write the title in the middle of the first line. [单 ...

  5. sd卡座封装尺寸_【SD卡座接口引脚定义及结构尺寸封装】 - 太平洋安防网

    [参数说明] 品牌: [详细描述] SD卡座是一种基于半导体快闪存储器的电子元器件,由于SD卡座的功能优势上数据传输快速.移动灵活.数据安全保密,以及结构一体化等.在目前几乎大多数电子设备的应用上都需 ...

  6. Kubernetes(k8s)的RC(Replication Controller)副本控制器

    1.RC(Replication Controller)副本控制器,Replication Controller的作用. 应用托管在kubernetes之后,kubernetes需要保证应用能够持续运 ...

  7. Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)

    1. 类型别名定义 定义类型别名的写法为: type TypeAlias = Type 类型别名规定: TypeAlias 只是 Type 的别名,本质上 TypeAlias 与 Type 是同一个类 ...

  8. java接口如何定义常量 c_在Java接口中怎样访问定义的常量呢?

    java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...

  9. java类接口实验_实验3_Java类的继承和接口的定义和使用

    本次有三题:学会Java类的继承.接口的定义和使用 // Ex3_1.java /** * 题目要求: * 修改例5.7(P95)实现在页面中拖动鼠标画出矩形,矩形的对角线为点击并拖动鼠标形成的直线线 ...

最新文章

  1. 画布之轮播图片HTML5,Axure原型设计之轮播图
  2. Introduction to pinatrace annotate version 2: a look into latches again
  3. 如何理解矩阵特征值?
  4. c#窗体程序生成错误_用C#语言做的窗体程序中出错恶劣怎么办?
  5. Sklearn参数详解—LR模型
  6. Mysql快照读和当前读
  7. 为VMware虚拟主机添加新磁盘
  8. 树状数组成段更新模板
  9. Redis(九):Redis特殊类型之geospatial
  10. C++---------之--------【虚析构函数】
  11. java 关闭dos_java批处理启动 关闭
  12. Hyperledger Fabric服务器配置及修改Docker容器卷宗存储根目录/位置
  13. [补档]noip2019集训测试赛(十五)
  14. Javascript第四章匿名函数第七课
  15. PHP数据处理之下载远程图片到本地
  16. vivo手机如何隐藏应用 vivo手机隐藏应用方法
  17. k8s pod控制器详解(ReplicaSet、Deployment、Horizontal Pod Autoscaler)
  18. adb在小米电视上安装QQ 并使用遥控器操控部分功能
  19. html中canvas动画游戏显示,【Fes】基于canvas的前端动画/游戏入门(一)
  20. C语言编程宏定义的优缺点,C语言重要知识点总结(二)--内存结构、函数调用过程(栈帧)、宏的优缺点以及##和#的使用...

热门文章

  1. 配置kickstart脚本--图形篇
  2. 可靠性测试-故障模型库
  3. 手把手教你使用ECharts绘制可视化图表
  4. 服务器更改IP(公网)地址后,Program Neighborhood客户端无法连接服务器
  5. ASP调用存储过程详解。
  6. Hive学习笔记 —— Hive的管理
  7. 从这篇文章可以看出有些错误,由此可以看出,还是看msdn要好的多,这是我的经验
  8. JS中的 that = this
  9. 99. 恢复二叉搜索树
  10. Backnbone的入门基础——Backbone的model