Spring MVC
Controller控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分:
收集、验证请求参数并绑定到命令对象;
将命令对象交给业务对象,由业务对象处理并返回模型数据;
返回ModelAndView(Model部分是业务对象返回的模型数据,视图部分为逻辑视图名)。
1. 继承该接口 Controller接口,重写对应方法,或者采用注解Controller,自定义映射文件
@Controller @RequestMapping("/flight") public class ControlFlight /*implements Controller*/ { }
需要注意的是:
SimpleUrlHandlerMapping决定使用哪一个控制器。
其中对于prexf-servlet-.xml文件中使重定向方式:
1.第一种ModelAndView方式。
<!--基于URL映射器--> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="start1.do">ControlFlight</prop> <prop key="buy.do">ControlFlight</prop> <prop key="flight.do">ControlFlight</prop> <prop key="result.do">ControlFlight</prop> <!--<prop key="start.do">loginController</prop>--> </props> </property> </bean> <!-- <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="buy"/> </bean>--> <bean id="ControlFlight" class="com.qunar.flight.control.ControlFlight"/> <!--ViewResolver映射--> <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/flight/"/> <property name="suffix" value=".jsp"/> <property name="order" value="1"/> </bean>
之后进入Controller中进行任务分派:
@RequestMapping(value = "/start.do", method = RequestMethod.GET) public ModelAndView BuyAirTicket() { return new ModelAndView("buy"); }
2 第二种采用
<!--基于URL映射器--> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="start.do">loginController</prop> </props> </property> </bean> <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="buy"/> </bean>
然后和下面的部分代码实现URL拼接
<!--ViewResolver映射--> <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/flight/"/> <property name="suffix" value=".jsp"/> <property name="order" value="1"/> </bean>
还有另一种方法:
就是直接使用这个命令,但是前提条件是,请求URI的前缀(过滤掉.vm,.htm等)和转发的一样,则直接可以使用
<bean id="loginController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
3 继承AbstractControlle 接口,并实现相应的方法,次方法和Controller相同,但是对于如果想封装表单请求,可以直接使用CommandController,-->AbstractCommandController(3.0以上版本废弃)
4. 注解@RequestMapping("/path") -->在类级别上定义注解时,那么再用此方法注解方法method时,那么method下的路径是与类路径相对。
@PathVariable 该注释是用来指明URL路径里面取参数,这个注解可以多个使用,下面时使用一种的代码片段
@RequestMapping("/flight/{name}") public ModelAndView toAdd(@PathVariable("name") String name){ ModelAndView mav = new ModelAndView("buy"); return mav; }
总结
以上就是本文关于Springmvc Controller接口代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
SpringMVC接收复杂集合对象(参数)代码示例
SpringMVC拦截器实现监听session是否过期详解
SpringMVC开发restful API之用户查询代码详解
如有不足之处,欢迎留言指出。
开源demo 目前提供了完整的Java版开源示例demo,便于您快速的熟悉Java开发工具包的使用及接口的调用。Java版demo 意见反馈 在开发过程中,您有任何问题或者建议,可直接与我们联系。 客服电话:400-161-0019 电子邮箱:service@qingtui.cn
本文向大家介绍Spring的BeanFactoryPostProcessor接口示例代码详解,包括了Spring的BeanFactoryPostProcessor接口示例代码详解的使用技巧和注意事项,需要的朋友参考一下 接口简介 BeanFactoryPostProcessor 接口是 Spring 初始化 BeanFactory 时对外暴露的扩展点,Spring IoC 容器允许 BeanFac
#include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = j
本文向大家介绍基于游标的分页接口实现代码示例,包括了基于游标的分页接口实现代码示例的使用技巧和注意事项,需要的朋友参考一下 前言 分页接口的实现,在偏业务的服务端开发中应该很常见,PC时代的各种表格,移动时代的各种feed流、timeline。 出于对流量的控制,或者用户的体验,大批量的数据都不会直接返回给客户端,而是通过分页接口,多次请求返回数据。 而最常用的分页接口定义大概是这样的: 接口传入
本文向大家介绍c#自定义Attribute获取接口实现示例代码,包括了c#自定义Attribute获取接口实现示例代码的使用技巧和注意事项,需要的朋友参考一下 一般的接口实现多态 定义接口 定义实现的类 一般实现的方法 升级版 添加自定义(这个网上好多) 实现类 调用方法 这个可以避免需要维护swich语句 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价
问题内容: 有人告诉我,这引起了我对此话题的好奇: Java gui类可以实现数百个侦听器和回调,并且许多书籍都教您在gui类中实现所有这些接口。另外,这些方面也可以在内部类中实现,因此,侦听器调用的方法不会混淆。 我想知道如何在ActionScript中做到这一点,ActionScript没有内部类,但是具有私有类。但是,我认为我还没有完全意识到内部类的含义,因此我只是想把我的头放在这种情况下,