前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring mvc Controller接口

Spring mvc Controller接口

作者头像
Gxjun
发布2018-03-27 11:30:36
8800
发布2018-03-27 11:30:36
举报
文章被收录于专栏:ml

Spring MVC 

1. 继承该接口 Controller接口,重写对应方法,或者采用注解Controller,自定义映射文件

代码语言:javascript
复制
1 @Controller
2 @RequestMapping("/flight")
3 public class ControlFlight /*implements Controller*/ {
4 
5 
6 }

需要注意的是: 

代码语言:javascript
复制
SimpleUrlHandlerMapping 决定使用哪一个控制器。

其中对于prexf-servlet-.xml文件中使重定向方式:

1. 第一种ModelAndView方式。

代码语言:javascript
复制
 1     <!--基于URL映射器-->
 2         <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
 3             <property name="mappings">
 4                 <props>
 5 
 6                     <prop key="start1.do">ControlFlight</prop>
 7                     <prop key="buy.do">ControlFlight</prop>
 8                     <prop key="flight.do">ControlFlight</prop>
 9                     <prop key="result.do">ControlFlight</prop>
10                     <!--<prop key="start.do">loginController</prop>-->
11                 </props>
12             </property>
13         </bean>
14 
15       <!--  <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
16             <property name="viewName" value="buy"/>
17         </bean>-->
18 
19     <bean id="ControlFlight" class="com.qunar.flight.control.ControlFlight"/>
20 
21 
22     <!--ViewResolver映射-->
23     <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
24         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
25         <property name="prefix" value="/WEB-INF/flight/"/>
26         <property name="suffix" value=".jsp"/>
27         <property name="order" value="1"/>
28     </bean>

之后进入Controller中进行任务分派:

代码语言:javascript
复制
1     @RequestMapping(value = "/start.do", method = RequestMethod.GET)
2     public ModelAndView BuyAirTicket() {
3 
4         return new ModelAndView("buy");
5     }

2  第二种采用

代码语言:javascript
复制
        <!--基于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拼接

代码语言:javascript
复制
1     <!--ViewResolver映射-->
2     <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
3         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
4         <property name="prefix" value="/WEB-INF/flight/"/>
5         <property name="suffix" value=".jsp"/>
6         <property name="order" value="1"/>
7     </bean>

还有另一种方法:

就是直接使用这个命令,但是前提条件是,请求URI的前缀(过滤掉.vm,.htm等)和转发的一样,则直接可以使用

1 <bean id="loginController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>

3  继承AbstractControlle 接口,并实现相应的方法,次方法和Controller相同,但是对于如果想封装表单请求,可以直接使用CommandController,-->AbstractCommandController(3.0以上版本废弃)

4. 注解@RequestMapping("/path") -->在类级别上定义注解时,那么再用此方法注解方法method时,那么method下的路径是与类路径相对。

@PathVariable 该注释是用来指明URL路径里面取参数,这个注解可以多个使用,下面时使用一种的代码片段

代码语言:javascript
复制
1 @RequestMapping("/flight/{name}")
2     public ModelAndView toAdd(@PathVariable("name") String name){
3 
4         ModelAndView mav = new ModelAndView("buy");
5         return mav;
6     }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-03-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档