Springmvc Controller接口代码示例

2025-05-27 0 39

Spring MVC

Controller控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分:

收集、验证请求参数并绑定到命令对象;

将命令对象交给业务对象,由业务对象处理并返回模型数据;

返回ModelAndView(Model部分是业务对象返回的模型数据,视图部分为逻辑视图名)。

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

?

1

2

3

4

5

6
@Controller

@RequestMapping("/flight")

public class ControlFlight

/*implements Controller*/

{

}

需要注意的是:

SimpleUrlHandlerMapping决定使用哪一个控制器。

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

1.第一种ModelAndView方式。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28
<!--基于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中进行任务分派:

?

1

2

3

4
@RequestMapping(value = "/start.do", method = RequestMethod.GET)

public ModelAndView BuyAirTicket() {

return new ModelAndView("buy");

}

2 第二种采用

?

1

2

3

4

5

6

7

8

9

10

11

12

13
<!--基于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拼接

?

1

2

3

4

5

6

7
<!--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等)和转发的一样,则直接可以使用

?

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路径里面取参数,这个注解可以多个使用,下面时使用一种的代码片段

?

1

2

3

4

5

6
@RequestMapping("/flight/{name}")

public ModelAndView toAdd(@PathVariable"name") String name){

ModelAndView mav = new ModelAndView("buy");

return mav;

}

总结

以上就是本文关于Springmvc Controller接口代码示例的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。

原文链接:https://www.cnblogs.com/gongxijun/p/5338104.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Springmvc Controller接口代码示例 https://www.kuaiidc.com/77358.html

相关文章

发表评论
暂无评论