SpringMVC 控制器类名处理映射

SpringMVC配置URL处理映射的三种方式 <?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:mvc="http://www.springfram... 阅读详情

学习参考自易百教程

ControllerClassNameHandlerMapping类是基于特定的控制器类名的处理程序映射类,通过它的配置,便可以将url中与控制器类名相同的所有增长匹配请求交给该控制器进行处理。例如,当定义一个HelloController控制器时(通过继承AbstractController,实现handleRequestInternal方法,而不是添加注解),该类方法中将映射到URL:"/hello*" ,如:

http://localhost:8080/项目名/hello

http://localhost:8080/项目名/hello.jsp

http://localhost:8080/项目名/hello123abc

但大写/Hello 会匹配失败。最终的响应映射路径将是/hello.jsp而不是最短匹配,如:helloabc.jsp将显示404,但方法体内容已被执行。实现例子如下:

1、项目目录

2、controller

package com.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;


public class HelloController extends AbstractController{
	
	protected ModelAndView handleRequestInternal(HttpServletRequest request,
			HttpServletResponse response)throws Exception{
		ModelAndView model=new ModelAndView("hello");
		model.addObject("message","Hello World!");
		return model;
	}
}

3、spring-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/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">  
       
     <!--  <context:component-scan base-package="com.controller" /> -->
      
      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      	<property name="prefix" value="/WEB-INF/jsp/"></property>
      	<property name="suffix" value=".jsp"></property>
      </bean>
      
      <!-- 	启用控制器类名处理url访问映射 -->
      <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
      
      <bean class="com.controller.HelloController"/>
      <bean class="com.controller.WelcomeController"/>
       
</beans>

4、web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>springMVC_controllerNameMapping</display-name>
  
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

</web-app>

5、hello.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'hello.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <h2>This is hello page. ${message}<br></h2>
  </body>
</html>

结果

如果将hello.jsp改名为helloa.jsp,将出现404,但执行了HelloConroller中的打印输出

详解springMVC—三种控制器controller 本篇文章主要介绍了springMVC—三种控制器controller,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 立即下载

相关推荐

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整论文+代码+结果

2024国赛A题参考论文。2024国赛D题参考论文。2024国赛E题参考论文。2024国赛B题参考论文。2024国赛C题参考论文。

qq_52590045的博客 5356

【SpringBoot】五:Web服务---SpringMVC---控制器

(1)什么是控制器?控制器是一种由Spring 管理的 Bean 对象,赋予角色是“控制器”。作用是处理请求,接收浏览器发送过来的参数,将数据和视图应答给浏览器或者客户端 app。控制器是一个普通的 Bean,使用@Controller 或者@RestController 注释。@Controller 被声明为@Component。所以它就是一个 Bean 对象。(2)如何创建控制器在java类上加入@Controller或者@RestController。

北极星的博客 3030

TensorFlow GPU版本安装步骤-Windows系统

本文由在Windows下安装TensorFlow GPU版本教程-优快云等整理得到。 目录 1、确认显卡是否支持CUDA 1.1 查看显卡信息 打开“设备管理器”,查看显卡信息,如下图所示: 由上图知,本电脑的显卡为NVIDIA Quadro P400. 1.2 查看支持CUDA的显卡 网址:https://developer.nvidia.com/cuda-gpus 经查询可知,该显卡支持CUDA,如下图所示: 2、安装CUDA 2.1 下载CUDA 网址:https://developer.nvi

x_lingyun的专栏 765

04 SpringMVC注解

目录 一、SpringMVC注解_@Controller 二、SpringMVC注解_@RequestMapping 三、SpringMVC注解_@RequestParam 四、SpringMVC注解_@RequestHeader、@CookieValue 五、SpringMVC注解_@SessionAttributes 六、SpringMVC注解_@ModelAttribute 七、SpringMVC注解_RESTful风格支持 1.RESTful风格介绍 2.Postman工具的使..

m0_51697147的博客 1407

不加行也能填满:用 ABAP BDC 驯服 Table Control 滚动录制缺陷,批量维护供应商银行账户

摘要 本文探讨了在SAP ECC/S4HANA系统中处理供应商主数据时,Table Control控件带来的批量导入挑战。文章指出,银行账户维护界面中Table Control的滚动动作难以被录制工具捕捉,导致批量导入数据时仅能填充前5行。解决方案是通过BDC_OKCODE显式触发翻页(如=P+),并配合行号拼接(如(01)~(05))将数据写入不可见行。文中提供了完整的ABAP程序示例,展示了如何读取外部文件、动态生成BDCDATA、处理表格翻页逻辑,最终通过CALL TRANSACTION执行XK01事

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 272

Axure RP9.0 教程:左侧菜单列表导航 ( 点击父级菜单,子菜单自动收缩或展开)【响应式的菜单导航】

1. 设置目标原件时,选择切换,这样就可以实现,当原件展示时,点击自动隐藏,隐藏时自动显示; 2. 展开/收起原件(推动/拉动原件)设置为方向**向下**

专注于计算机研发知识和资讯分享 1380

SpringMVC--控制器

1. 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。 控制器负责解析用户的请求并将其转换为一个模型。 在Spring MVC中一个控制器类可以包含多个方法 在Spring MVC中,对于Controller的配置方式有很多种 1.1 Controller的配置方式01: 实现Controller接口 1.1.1 Controller接口 Controller是一个接口,在org.springframework.web.servlet.mvc包下

天行健 君子以自强不息,地势坤 君子以厚德载物。 1379

YOLOv8目标出入计数部署:讲解C#使用ONNX检测模型进行目标出入计数 可运行完整实例

代码、步骤、讲解完整,可一键运行,效果如下:车辆出入计数人员出入计数。

Limiiiing的博客 79

SpringMVC 控制器

重点: 掌握常见的Controller 配置及使用方法 控制器: MVC 中 的 C          包括两大类: 控制逻辑(前端控制器) + 功能处理(自定义控制器)   功能处理的作用: 收集、验证请求参数并绑定对象 处理业务获得模型数据 返回视图   几种常见的 Controller       CommandController(命令控制器)       FormCo...

一个技术迷的博客 409

Swin Transformer 类可视化(grad CAM)

完整代码 from pytorch_grad_cam import GradCAM, ScoreCAM, GradCAMPlusPlus, AblationCAM, XGradCAM, EigenCAM from pytorch_grad_cam.utils.image import show_cam_on_image from torchvision.models import resnet50 import glob from demo import parse_option from models i

G果的博客 6639

【WRF-UCM】BEP+BEM 模拟:README

【WRF-UCM】BEP+BEM 模拟:README

WW、forever的博客 223

控制器类型

控制器类型 ReplicationController 和 ReplicaSet deployment daemonset statefulset job/Cronjob Horizontal pod Autoscaling 每一种控制器都有它们各自的优点,我们要掌握它们的优点以后才能够合理的在不同情况下去选择对应的控制器。接下来就给大家讲解一下它们每一种的特点,以及使用在那种环境之下 6.2.1 ReplicationController 和 ReplicaSet 首先就是我们的 RC 和 RS 它们写在

Dou_Hua_Hua的博客 1198

【即插即用模块】Transformer篇 | CVPR 2025 | SADA:多尺度+可变形采样,完美替换自注意力实现涨点!

文章摘要 本文提出了一种尺度自适应可变形注意力模块(SADA),用于处理图像修复中的结构化伪影问题。SADA通过多尺度多头机制捕获远程依赖关系,并引入可变形采样偏移来有效处理非均匀空间分布的模式。该模块适用于底层视觉任务,可替代ViT自注意力,实验证明能显著提升性能。代码已开源,支持即插即用集成。 核心特点: 多尺度头适应不同大小的重复模式 可变形偏移优化非均匀分布采样 轻量级设计,易于集成到现有架构 适用场景:图像去噪、超分辨率等底层视觉任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1431

spring MVC之将请求映射到处理程序

spring MVC之将请求映射到处理程序 ----------   当DispatcherServlet接收到web请求时,它只会将请求分发给适当的处理程序来处理请求。你想为DispatcherServlet定义一种策略,用来将请求映射到处理程序。 在Spring MVC应用程序中,web请求被web应用程序上下文中声明的一个或多个处理程序映射Bean映射到处理程序上。这些Bean必须实...

fhd001的专栏 340

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SSM之SpringMVC_02_01_SpringMV的注意事项、以及URL处理器的三种映射(BeanNameUrlHandlerMapping、SimpleUrlHandlerMapping、)

系列文章目录 文章目录系列文章目录SpringMV的注意事项URL处理器映射有三种1、URL处理器映射—— BeanNameUrlHandlerMapping2、URL处理器映射——SimpleUrlHandlerMapping3、URL处理器映射——ControllerClassNameHandlerMapping总结 SpringMV的注意事项 1、文件名是固定的 springMvc会默认去加载这样的一个配置文件, 这个文件名是固定的,如果不是这个名字就会加载不到配置文件,导致报错 比如我们改个名字

小良的博客 522

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

springMVC三种处理器映射器

1、配置处理器映射器,springmvc默认的处理器映射器BeanNameUrlHandlerMapping <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> 根据bean(自定义Controler)的name属性的url去寻找hanler(Action:Con...

weixin_30569153的博客 551

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

springMVC源码分析--ControllerClassNameHandlerMapping(九)

在上一篇博客springMVC源码分析--AbstractControllerUrlHandlerMapping(六)中我们介绍到AbstractControllerUrlHandlerMapping定义了抽象方法buildUrlsForHandler,接下来我们看看在其子类ControllerClassNameHandlerMapping中的实现。ControllerClassNameHandl

井底之蛙 1465

Spring MVC处理器映射器(HandlerMapping)详解

Spring MVC提供的处理器映射器(HandlerMapping)主要有BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping,我们需根据使用的场景来进行配置。

陈瑾 421

spring mvc 处理映射的几种方式

1、Spring MVC bean的nameurl处理映射 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/...

weixin_33774615的博客 231

springMVC学习记录——后端控制器之映射处理器

springMVC的后端处理器包括三个部分: 映射处理器(HandlerMapping) 控制器(Controller) 视图解析器(ViewResolver) 博文记录一下映射处理的的相关配置问题: 映射处理器:处理url到控制层的映射关系     tip:根据前端控制器(DispatcherServlet)传递过来的请求资源符URI去配置在映射处理器中的控制器,决定这一次的用户请求需...

点滴之路 2286

SpringMVC进阶(三)——控制器

在Spring MVC中,有几种控制器,下面我们来一一介绍一下。     1.ParameterizableViewController(参数控制器)     示例:在springmvc-servlet.xml中配置映射处理器和参数控制器 toLogin <bean id="toLogin" class="org

周江霄 1611

SpringMVC系列教程——02URL处理器映射

SpringMVC系列教程——02URL处理器映射

qq_44932835的博客 329

SpringMVC中三个映射处理器类

SpringMVC中三个映射处理器类 1、 BeanNameUrlHandlerMapping(默认)             2、 SimpleUrlHandlerMapping a.action,b.action,c.action访问的是一个controller 支持多个url,访问同一个Controller,按id属性访问 --> hiContro

lumenxu的博客 1101

SpringMVC映射请求;SpringMVC返回值类型;SpringMVC参数绑定;

SpringMVC映射请求;SpringMVC返回值类型;SpringMVC参数绑定;

weixin_72637723的博客 1663

SpringMVC-02_SpringMVC的三种映射处理器

上一篇文章中,没有提到SpringMVC的映射处理器,是因为使用了默认的url

永不停息的蜗牛 411
上一篇: SpringMVC 表单注册页
下一篇: SpringMVC 简单URL处理映射
zero_130
博客等级 码龄10年 21粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值