SpringMVC札集(02)——SpringMVC入门完整详细示例(下)
自定义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。
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札集(02)——SpringMVC入门完整详细示例(下)的更多相关文章
- SpringMVC札集(01)——SpringMVC入门完整详细示例(上)
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- SpringMVC札集(03)——基于注解的SpringMVC入门完整详细示例
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- SpringMVC札集(05)——SpringMVC参数回显
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- SpringMVC札集(04)——SpringMVC传递参数
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- ASP.NET + MVC5 入门完整教程三 (下) ---MVC 松耦合
建立松耦合组件 MVC 模式最重要的特性之一视他支持关注分离,希望应用程序中的组件尽可能独立,只有很少的几个可控依赖项.在理想的情况下,每个组件都不了解其他组件,而只是通过抽象接口来处理应用程序的其他 ...
- SpringMVC札集(10)——SSM框架整合
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- SpringMVC札集(09)——拦截器
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- SpringMVC札集(08)——文件上传
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- SpringMVC札集(07)——JSON数据
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
随机推荐
- Appium中的logger
原文地址http://blog.csdn.net/itfootball/article/details/45395901 appium中的log输出量很大,我们分析问题的时候会依赖于这些log,但是你 ...
- python16_day05【迭代器、生成器、模块】
一.列表生成式 1.我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式 : >>> a ...
- sql创建表、改变表、关联查询语句
- form表单4种提交方式
<!DOCTYPE html><html> <head> <title>JavaScript表单提交四种方式</title> <met ...
- python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件
python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件 使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPA ...
- Zabbix Linux http 监控脚本
说明:自定义监控脚本,监控内存是否启用主进程 创建文件:vim check_http.sh #!/bin/bash result=`ps -ef | grep httpd | grep -v grep ...
- sublime text3配置ctrl+鼠标左键进行函数跳转【转】
本文转载自:https://blog.csdn.net/shangdibaozi/article/details/77503426 点击Preferences->Browse Packages进 ...
- Limit CPUID MAX
Limit CPUID MAX to 3.是指出现在英特尔平台的BIOS设置选项.很多主板也显示成CPUID maximum value limit选项.中文意义是:限制执行CPUID指令返回数值大于 ...
- sqlserver一般需求
1.创建一个函数:将用逗号分隔的字符串变成一个表的一列,这样就可以运用在select 语句的in中查询 create Function StrToTable(@str varchar()) Retur ...
- Java子类强制转父类类型不会变
class A{ void a(){ System.out.println("parent'a()"); }} class AA extends A{ ...