Spring MVC Controller配置方式

2023-10-30

Spring MVC 入门示例http://cuisuqiang.iteye.com/blog/2042931中,配置Controller时使用的是URL对应Bean的方式
在SpringMVC中,对于Controller的配置方式有很多种,如下做简单总结

 

第一种 URL对应Bean
如果要使用此类配置方式,需要在XML中做如下样式配置

<!-- 表示将请求的URL和Bean名字映射-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean name="/hello.do" class="test.HelloController"></bean>

 
以上配置,访问/hello.do就会寻找ID为/hello.do的Bean,此类方式仅适用小型的应用系统

 

第二种 为URL分配Bean
使用一个统一配置集合,对各个URL对应的Controller做关系映射

<!-- 最常用的映射配置方式 -->
<!-- <prop key="/hello*.do">helloController</prop>-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
 <property name="mappings">
  <props>
   <prop key="/hello.do">helloController</prop>
  </props>
 </property>
</bean>
<bean name="helloController" class="test.HelloController"></bean>

 
此类配置还可以使用通配符,访问/hello.do时,Spring会把请求分配给helloController进行处理

 

第三种 URL匹配Bean
如果定义的Controller名称规范,也可以使用如下配置

<!-- 将hello*.do交给helloController处理-->
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
<bean name="helloController" class="test.HelloController"></bean>

 

第四种 注解
首先在配置文件中开启注解

<!-- 启用 spring 注解 -->
<context:component-scan base-package="test" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

 
在编写类上使用注解@org.springframework.stereotype.Controller标记这是个Controller对象
使用@RequestMapping("/hello.do")指定方法对应处理的路径,这里只是简单示例,会有更复杂配置

代码类如下:

package test;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping;
// http://localhost:8080/spring/hello.do?user=java
@org.springframework.stereotype.Controller
public class HelloController{
	@SuppressWarnings("deprecation")
	@RequestMapping("/hello.do")
	public String hello(HttpServletRequest request,HttpServletResponse response){
		request.setAttribute("user", request.getParameter("user") + "-->" + new Date().toLocaleString());
		return "hello";
	}
}

 

附件是源码,导入Eclipse查看示例。

 

请您到ITEYE网站看 java小强 原创,谢谢!

http://cuisuqiang.iteye.com/ 

自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC Controller配置方式 的相关文章

随机推荐

  • 【计算机网络】湖科大微课堂笔记 p67-70 应用层概述、客户-服务器方式和对等方式、动态主机配置协议DHCP、域名系统DNS

    文章目录 应用层概述 客户 服务器方式和对等方式 动态主机配置协议DHCP 小结 域名系统DNS 小结 一些例题 应用层概述 客户 服务器方式和对等方式 客户 服务器方式 对等方式 动态主机配置协议DHCP DHCP的作用 DHCP工作过程
  • mysql事务回滚是什么意思_Mysql事务提交及事务回滚是什么意思

    本篇文章主要给大家介绍mysql事务提交及事务回滚的相关知识 事务可以说是一段sql 语句的批处理 但是这个批处理是一个atom 原子 不可分割 要么都提交执行 要么回滚 rollback 都不执行 关于事务的详细定义介绍 我们在之前的文章
  • 6678开发板NDK网口通信完整实现(附源码)

    写在前面 1 已经有很多前辈做过很优秀的记录 本篇尽量讲得详细一点 能够让新手直接上手 2 在整个调试过程中 会遇到各种各样的问题 如果遇到问题请看第四部分 大部分问题应该能解决掉 不能解决的就评论区留言 3 我的CCS安装路径是 C Ti
  • simpleitk 读数据 图像 dicom nii 处理数据

    最近在使用 simpleITK 读取dicom nii 处理数据 非常方便 下面记录一下 1 读取DICOM序列 医学图像中一个CT序列包含很多张图片 即一个case包含许多slice 使用SimpleITK可以直接读取一个序列 impor
  • 基于微信小程序的电影院订票选座系统

    随着数据库技术和无线互联网的发展 各行业的数据信息量快速增多 正是由于这种发展形势 数据量变得非常杂乱无序 必须通过信息系统来选择用户需要的信息 本文通过微信小程序平台上研发电影院订票选座系统 解决部分电影院只能通过实体前台订票选座问题 本
  • BUCK BOOST学习总结

    首先对于我这种电源方面的小白来说 关于电源用的最多的就是线性稳压了 开关类的如 TI 的TPS系列 我是只知道应用电路而不知道具体原理的 但是长此以往也不是个办法 于是今天就带打家详细的来讲一下 BUCK BOOST电路的原理 先挂几个连接
  • JavaScript中的实例对象与函数对象、回调函数、JavaScript的error处理

    区别实例对象与函数对象 实例对象 new 函数产生的对象 称为实例对象 简称为对象函数 函数对象 将函数作为对象使用时 简称为函数对象 function Fn Fn函数 const fn new Fn Fn是构造函数 fn是实例对象 简称为
  • Windows10下TELEDYNE DALSA相机连接电脑以及网卡配置教程

    文章目录 一 相机IP地址设置 二 网卡端口设置 一 相机IP地址设置 右键相机 选择Scan Network 选择SHOW Status Dialog Box 出现发现的设备 设备显示为红色说明连接有问题 这里有两种解决办法 一种是以下文
  • QT button样式-边界宽度颜色设置

    1 QT QSS设置按钮边界样式 QT设置按钮边界样式 本学习添加三个按钮来做研究 QVBoxLayout vbox new QVBoxLayout QWidget w new QWidget this this gt setCentral
  • 安卓ShapeDrawable基本属性

    shape android shape rectangle oval line ring 可以设置为矩形 椭圆形 线性和环形 corners corners 用来定义圆角 有以下可用属性 android radius android top
  • 迷人的MCU单片机

    迷人的MCU单片机 MCU Microcontroller Unit 微控制单元 又称单片微型计算机 Single Chip Microcomputer 简称单片机 是把中央处理器 Central Process Unit CPU 的频率与
  • 智能驾驶数据集 合集

    智能驾驶数据集 集合 智能驾驶图像数据 No 1 103 300张驾驶员行为标注数据 驾驶员行为标注数据 总数据量103 300张 车内摄像头拍摄 且采集多年龄段 多时段 多种驾驶行为 关键点标注准确率不低于95 手势矩形框 人脸属性信息标
  • C++左值和右值

    这里有个误区 左值不是 left value 而是 location value 可寻址的值 右值不是 right value 而是 read value 只可读的值 所以 变量地址可读可写的是左值 只可读的是右值
  • 我的 Python.color() (Python 色彩打印控制)

    我的CSDN主页 My Python 学习个人备忘录 我的HOT博 自学并不是什么神秘的东西 一个人一辈子自学的时间总是比在学校学习的时间长 没有老师的时候总是比有老师的时候多 华罗庚 我的 Python color Python 色彩打印
  • 如何快速构造两个hashCode相同的字符串

    这要从hashCode的源码说起 String类hashCode的代码如下所示 public int hashCode int h hash if h 0 value length gt 0 char val value for int i
  • 【建议收藏】自动化测试框架开发教程

    在自动化测试项目中 为了实现更多功能 我们需要引入不同的库 框架 首先 你需要将常用的这些库 框架都装上 pip install requests pip install selenium pip install appium pip in
  • java 实现复制文件到指定目录

    将resource下的目录及文件 复制一份到指定目录 代码实现 import cn hutool core io FileUtil import org springframework core io Resource import org
  • adb shell 出现 insufficient permissions for device 参考网址:http://hi.baidu.com/iceliushuai/blog/item/1e50

    adb shell 出现 insufficient permissions for device 参考网址 http hi baidu com iceliushuai blog item 1e506160c5d01f48eaf8f801 h
  • 归纳演绎出的世界观

    题目略有写宽泛 刚读完 世界观 第一部分的内容 信息量有点大 迫切需要写篇读书笔记理清思路 归纳 和 演绎 方法 什么是归纳 Inductive 和演绎 Deductive 很多对于归纳 演绎的观点都是错误的 错误的以为两者是对立的 要么是
  • Spring MVC Controller配置方式

    Spring MVC 入门示例http cuisuqiang iteye com blog 2042931中 配置Controller时使用的是URL对应Bean的方式在SpringMVC中 对于Controller的配置方式有很多种 如下