非注解映射器和非注解适配器

一、非注解映射器

多个映射器可以并存,前端控制器判断url能让哪些映射器映射,就让正确的映射器处理。

简单映射器

myController1 myController1

beanName映射器


二、非注解适配器

!-- 处理器适配器,配置对处理器中handleRequest()方法的调用 所有的处理器适配器都实现HandlerAdapter接口-->

此适配器要求编写的Handle实现Controller接口

此适配器要求并编写的handle实现HttpRequestHandler接口。

Controller实现如下

package com.ssm.controller;import org.springframework.web.HttpRequestHandler;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class MyController2 implements HttpRequestHandler{ @Override public void handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException { httpServletRequest.setAttribute("name","kamenrider"); httpServletRequest.getRequestDispatcher("index.jsp").forward(httpServletRequest,httpServletResponse); }}

此handle可以通过修改response,设置响应的数据格式,比如响应json数据:

response.setCharacterEncoding("utf-8");response.setContentType("application/json;charset=utf-8");response.getWriter().write("json串");



最后在强调一下:

映射器就是根据url来找handle。

适配器就是根据按照要求规则来执行handle。

你可能感兴趣的:(非注解映射器和非注解适配器)