SpringMVC札集(02)——SpringMVC入门完整详细示例(下)
2017-07-26 15:34
411 查看
自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理
探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制
Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南
在上一篇中,我们完成了一个SpringMVC的HelloWorld。在这个示例中我们使用的系统默认的HandlerMapping和HandlerAdapter即BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping。在本篇博客中我们再来瞅瞅其他的HandlerMapping和HandlerAdapter。
在此先配置我们的自定义Controller,然后利用SimpleUrlHandlerMapping配置映射。在该配置中,将/hello.do和/hi.do都映射至myController。所以,当我们在浏览器中输入http://localhost:8081/SpringMVC02/hi.do或者http://localhost:8081/SpringMVC02/hello.do都会执行到MyController
比如:http://localhost:8081/SpringMVC02/myController.do
嗯哼,至此SpringMVC常见的三种处理器映射器就已经介绍完了;我们可依据需求在springmvc.xml中配置;三者可共存,不会冲突。
在此实现一个Controller
再在springmvc.xml中配置处理器适配器
最后,在浏览器访问http://localhost:8081/SpringMVC02/httpController.do即可
关于SpringMVC常用的处理器映射器和处理器适配器就介绍到此。
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理
探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制
Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南
在上一篇中,我们完成了一个SpringMVC的HelloWorld。在这个示例中我们使用的系统默认的HandlerMapping和HandlerAdapter即BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping。在本篇博客中我们再来瞅瞅其他的HandlerMapping和HandlerAdapter。
SimpleUrlHandlerMapping
SimpleUrlHandlerMapping用于将url与Controller相对应。<!-- 自定义Controller --> <bean id="myController" name="/welcome.do" class="cn.com.MyController"></bean> <!-- 简单处理器映射器 --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hello.do">myController</prop> <prop key="/hi.do">myController</prop> </props> </property> </bean>
在此先配置我们的自定义Controller,然后利用SimpleUrlHandlerMapping配置映射。在该配置中,将/hello.do和/hi.do都映射至myController。所以,当我们在浏览器中输入http://localhost:8081/SpringMVC02/hi.do或者http://localhost:8081/SpringMVC02/hello.do都会执行到MyController
ControllerClassNameHandlerMapping
相对于前两种处理映射器,ControllerClassNameHandlerMapping就显得简单多了,在配置ControllerClassNameHandlerMapping后,我们只需在浏览器中输入Controller对应的名字.do就行,但是务必注意其第一个字母必须小写。<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
比如:http://localhost:8081/SpringMVC02/myController.do
嗯哼,至此SpringMVC常见的三种处理器映射器就已经介绍完了;我们可依据需求在springmvc.xml中配置;三者可共存,不会冲突。
HttpRequestHandlerAdapter
在上一篇博客中我们的MyController实现了Controller接口,使用的是SimpleControllerHandlerAdapter做为处理器适配器执行Controller。除此以外,可让我们的Controller实现HttpRequestHandler接口,比如:MyHttpController implements HttpRequestHandler,此时可用HttpRequestHandlerAdapter做为处理器适配器执行Controller。请看如下示例:/** * @author 原创作者:谷哥的小弟 * @blog 博客地址:http://blog.csdn.net/lfdfhl * @time 创建时间:2017年7月25日 下午10:02:30 * @info 描述信息:实现了HttpRequestHandler接口的Controller */ package cn.com; 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 MyHttpController implements HttpRequestHandler { @Override public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setAttribute("helloSpringMVC", "实现了HttpRequestHandler接口的Controller"); request.getRequestDispatcher("/WEB-INF/jsps/test.jsp").forward(request, response); } }
在此实现一个Controller
<!-- 处理器适配器 --> <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>
再在springmvc.xml中配置处理器适配器
最后,在浏览器访问http://localhost:8081/SpringMVC02/httpController.do即可
关于SpringMVC常用的处理器映射器和处理器适配器就介绍到此。
相关文章推荐
- SpringMVC札集(01)——SpringMVC入门完整详细示例(上)
- SpringMVC札集(03)——基于注解的SpringMVC入门完整详细示例
- springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置
- JNI入门完整详细示例
- JNI入门完整详细示例
- springmvc 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试
- 史上最全最强SpringMVC详细示例实战教程
- 自定义ContentProvider以及ContentObserver的使用完整详细示例
- SpringMVC详细示例实战教程
- 史上最全最强SpringMVC详细示例
- SpringMVC入门实例及详细讲解
- 转载:《史上最全最强SpringMVC详细示例实战教程》
- 史上最全最强SpringMVC详细示例实战教程
- Android利用Volley异步加载数据完整详细示例(一)
- SpringMVC入门实例及详细讲解
- Java利用IO流复制照片完整示例和详细分析
- SpringMvc入门到开发(四)之自定义异常处理,上传,自定义的参数类型转化【附详细截图】
- springmvc 项目完整示例04 整合mybatis mybatis所需要的jar包 mybatis配置文件 sql语句 mybatis应用
- 史上最全最强SpringMVC详细示例实战教程
- iOS 3D Touch超详细入门介绍(附带demo示例代码)