一、写在前面

在Spring2.5之前,只能使用controller接口实现来完成一个控制器,每写一个控制器都需要重新implements一个controller,在Spring2.5之后,新增基于注解的控制器以及其他注解开发,极大减少了代码量。

二、@Controller

1、基于该注解的类为一个控制器,不需要再实现controller接口,加上了@Controller的类会自动被Spring托管(需要配置扫描),如果该类有String返回值,并且有对应的页面可以跳转,那么会自动被视图解析器解析。

2、在配置该注解后需要指定扫描包类路径

<context:component-scan base-package="cn.kexing.controller"></context:component-scan>

三、@RequestMapping

Spring通过@Controller找到对应的控制器后,还需要知道控制器内的每一个请求如何处理,@RequestMapping可以映射在类上或方法上、映射在类上后每次请求该类对应的方法时都需要加上类路径,映射在方法上只需要指定方法路径即可调用相应的功能。

package cn.kexing.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/SpringMVC05")
public class HelloController {
    //@RequestMapping既可以加在方法上也可以加在类上,代表url路径
    @RequestMapping("/hello")
    public String Hello(Model model){
        model.addAttribute("msg","helloController!");
        return "helloController";
    }
}

请求HelloController方法的url为http://localhost:8080/SpringMVC05_war_exploded/SpringMVC05/hello

最后修改:2020 年 09 月 12 日 06 : 04 PM
如果觉得我的文章对你有用,请随意赞赏