使用springMV三种配置映射到Controller的方法

第一种:官方默认的,因此ControllerBeanNameHandlerMapping的bean可要可不要。

访问的url:http://localhost:8080/maven-web-springmvc/inputProduct

<bean name="/inputProduct" class="com.test.controller.InputProductController">
<bean class="org.springframework.web.servlet.mvc.support.ControllerBeanNameHandlerMapping"></bean>    



第二种:key值为inputProduct的prop元素,包含的值,要与其中一个bean的name值一致,key值为url访问的一部分。

访问其中的一个url:http://localhost:8080/maven-web-springmvc/inputProduct

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
	    <property name="mappings">  
	        <props>  
	            <prop key="inputProduct">inputProductController</prop>  
                    <prop key="saveProduct">saveProductController</prop>
	        </props>  
	    </property>  
	</bean> 
<bean name="inputProductController" class="com.test.controller.InputProductController"></bean> 
<bean name="saveProductController "class="com.test.controller.SaveProductController"></bean> 

第三种:springMVC框架会自动约定用controller的类来作为映射,但是有一点要注意的,这种方式url中输入的类名字母全部都要小写,也可以省略掉controller。

访问的url:http://localhost:8080/maven-web-springmvc/inputproductcontroller  或者  http://localhost:8080/maven-web-springmvc/inputproduct

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>

 <bean  class="com.test.controller.InputProductController"></bean> 


根据问题描述,如果请求路径没有正确映射到控制器(controller)的处理方法上,通常会出现以下几种可能的情况: 1. 控制器的请求映射路径不正确:在控制器类或方法使用了@RequestMapping或@GetMapping等注解来映射请求路径,可能是路径拼写错误或与实际请求路径不匹配,需要仔细检查映射路径。 2. 请求路径中缺少必要的参数或参数值不正确:如果请求路径中包含参数,例如/rest/user/{id},而实际请求路径没有正确提供参数值,或者参数值不符合要求,那么会导致路径无法正确映射到对应的处理方法上。 3. Spring配置文件中缺少或错误配置了组件扫描:如果使用了基于注解的配置方式(如Spring Boot),需要确保配置文件中正确扫描到了控制器类所在的包路径,即@ComponentScan(basePackages = "com.example.controller"),否则无法正确找到控制器类,也就无法映射到对应的处理方法。 4. 控制器方法的注解使用不正确:如果在控制器方法使用的注解不正确或缺失,例如:@RequestMapping或@GetMapping等注解没有正确添加到对应的方法上,也会导致请求路径无法正确映射到处理方法上。 针对以上情况,我们可以仔细检查控制器类和方法上的注解是否正确,确保请求路径与处理方法映射是一致的,另外还需要确认Spring配置文件中的组件扫描是否正确,以便能够正确找到控制器类和处理方法。如果仍然无法解决问题,可以结合具体的代码和报错信息进行进一步排查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值