zoukankan      html  css  js  c++  java
  • springmvc:Controller-Model

    1.控制器Controller

    • 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。

    • 控制器负责解析用户的请求并将其转换为一个模型。

    • 在Spring MVC中一个控制器类可以包含多个方法

    • 在Spring MVC中,对于Controller的配置方式有很多种

    实现controller方式:

    1.只要实现了controller接口的类,说明这就是一个控制器了

    public class ControllerTest1 implements Controller {
        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
            ModelAndView mv = new ModelAndView();
    
            //添加数据
            mv.addObject("msg", "controllerTest");
            //设置视图的名字(要跳转的名字)
            mv.setViewName("/test");
            return mv;
        }
    }
    
    继承controller方式的缺点:一个控制器中只有一个方法,如果需要多个方法,则要定义多个Controller,
    @Component 组件
    @Controller  Controller
    @Repository dao
    @Service  service
    

    2.注解@Controller

    @Controller/*
    代表这个类被spring托管 ,被这个注解的类中的所有方法,如果返回值是string,并且存在具体的页面可以跳转,
    那么就会会视图解析器解析*/
    public class ControllerTest2 {
        @RequestMapping("/t2")
        public String test(Model model){
            model.addAttribute("msg","controllerTest2");
            return "test";
        }
        @RequestMapping("/t3")
        public String test2(Model model){
            model.addAttribute("msg","controllerTest3");
            return "test";
        }
    }
    
    @Controller/*
    代表这个类被spring托管 ,被这个注解的类中的所有方法,如果返回值是string,并且存在具体的页面可以跳转,
    那么就会会视图解析器解析*/
    @RequestMapping注解用于映射url到控制器类或一个特定的处理程序方法。
    可用于类或方法上。用于类上,表示类中的
    所有响应请求的方法都是以该地址作为父路径
    

    2.Moudle

    Model,ModelMap,LinkedMap:
    Model 只有几个方法,只适合用于储存数据,简化了新手对于MOdell对象的操作和理解
    ModelMap 继承了LinkedMap,除了实现 了自身的一些方法,同样的继承LinkedMap的方法和特性
    MOdelAndView 可以在储存数据的同时,可以进行设置返回的逻辑视图,进行控制展示层的跳转
    
    @Controller
    public class MoudleTest1 {
    @RequestMapping("/t1")
        public String test1(Model model) {
          model.addAttribute("msg","modelTest");
          /*转发
       1. return "test";
        2.不配置视图解析器情况下
          return "forward:/WEB-INF/jsp/test.jsp";
          */
        //重定向(不需要视图解析器)
        return "redirect:/index.jsp";
        }
    }
    
  • 相关阅读:
    Sensor Fusion-based Exploration in Home Environments using Information, Driving and Localization Gains(基于传感器融合的使用信息、驾驶和定位增益在家庭环境中的探索)
    Git中从远程的分支获取最新的版本到本地
    git拉取远程分支到本地分支或者创建本地新分支
    win7下使用git
    ADAS

    struct对齐
    STL容器
    智能指针
    c++中的基本知识点
  • 原文地址:https://www.cnblogs.com/zh93/p/12952178.html
Copyright © 2011-2022 走看看