三个处理器映射器+二个处理器适配器

本文介绍了Spring MVC中的三种处理器映射器:BeanNameUrlHandlerMapping、SimpleUrlHandlerMapping和ControllerClassNameHandlerMapping,以及两种处理器适配器:SimpleControllerHandlerAdapter和HttpRequestHandlerAdapter。此外,还提供了自定义控制器实现的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三个处理器映射器

1 BeanNameUrlHandlerMapping

<!-- 配置处理器映射器 1-->
 <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>


2SimpleUrlHandlerMapping

<!-- 配置处理器映射器2SimpleUrlHandlerMapping 使用自定义bean的id匹配-->
  <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  	<property name="mappings">
  		<props>
  			<prop key="/ss.do">userController</prop>
  			<prop key="/abc.do">userController</prop>
  			<prop key="/yyy.do">httpId</prop>
  		</props>
  	</property>
  </bean>


3ControllerClassNameHandlerMapping

<!-- 配置处理器映射器3ControllerClassNameHandlerMapping:直接使用类名访问,类名.do 但是类名首字母小写 -->
  <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
 

4自定义bean

 <!-- 配置自定义bean -->                      
  <bean id="userController" name="/hello.do" class="cn.itcast.controller.UserController"></bean>


二个处理器适配器

1SimpleControllerHandlerAdapter

<!-- 配置处理器适配器1 负责执行UserController  实现接口 Controller-->
<bean  class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
 


自定义类UserController 实现接口 Controller
package cn.itcast.controller;

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

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

public class UserController implements Controller{

	@Override
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ModelAndView mvAndView = new ModelAndView() ;
		mvAndView.addObject("hello", "I love too yeah one");
		//
		//mvAndView.setViewName("/WEB-INF/jsps/index.jsp");
		mvAndView.setViewName("index");
		return mvAndView;
	}	
}



2HttpRequestHandlerAdapter

 <!-- 配置处理器适配器2 HttpRequestHandlerAdapter:
   用来处理实现接口HttpRequestHandler后端控制类Controller -->
   <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>


配置自定义Bean
<!-- 配置自定义bean -->
  <bean id="httpId" class="cn.itcast.controller.HttpController"></bean>


自定义类HttpController ,实现接口HttpRequestHandler
package cn.itcast.controller;

import java.io.IOException;

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

import org.springframework.web.HttpRequestHandler;

public class HttpController implements HttpRequestHandler{

	@Override
	public void handleRequest(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//给页面返回值
		request.setAttribute("hello", "Hello world");
		//设置跳转物理视图地址
		request.getRequestDispatcher("/WEB-INF/jsps/index.jsp").forward(request, response);
		
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值