资讯专栏INFORMATION COLUMN

SpringMVC学习之路(一)

phodal / 2737人阅读

摘要:顾名思义,是一个框架。基本流程层,发出请求,处理逻辑,并调用处理层相关操作。编写层,来处理逻辑表明这是一个,并且会被容器进行初始化。请求的映射,就是后的路径。并在层用取出来。

SpringMVC
-顾名思义,是一个MVC框架。即可以处理View,Model,controller的一个框架。
基本流程
-View层,发出请求,controller处理逻辑,并调用Model处理Dao层相关操作。
具体实现 配置web.xml中的入口servlet

        dispatcher
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:springConfig/dispatcher-servlet.xml
        
        1
    
    
        dispatcher
        /
    

其中的初始参数,contextConfigLocation,指上下文配置文件路径。

PS:dispatcher-servlet.xml主要用来配置springMVC的一些controller的初始化,静态文件的映射策略,视图的配置。

编写controller层,来处理逻辑
@Controller
@RequestMapping("/")
public class IndexController {

    @RequestMapping("login")
    public ModelAndView index() {
        ModelAndView view = new ModelAndView("index");
        view.addObject("welcome", "hello");
        return view;
    }

}
-@controller
-表明这是一个controller,并且会被spring容器进行初始化。需要注意的是,如果使用注解,必须在配置文件中,开启注解扫描。
-@RequestMapping
-请求的映射,就是contestPath后的路径。
-ModelAndView
-springMVC的一个特殊对象,封装了一个带值的视图对象。可以用来对视图进行传参数。并在View层用EL取出来。



    
    


    

Welcome to user SpringMVC

your welcome param: ${welcome}

controller层的更多写法
@Controller
@RequestMapping(value = "/employee")
public class EmployeeController {

    @Autowired
    private IEmployeeService employeeService;

    @Autowired
    private IDeptService deptService;

    @RequestMapping
    public ModelAndView index() {
        ModelAndView view = new ModelAndView("employee/list");
        List employees = employeeService.list();
        view.addObject("list", employees);
        return view;
    }

    @RequestMapping(method = RequestMethod.POST, value = "/delete/{employeeId}")
    @ResponseBody
    public String delete(@PathVariable Integer employeeId) {
        employeeService.delete(employeeId);
        return "success";
    }

    @RequestMapping(method = RequestMethod.GET, value = "/add")
    public ModelAndView add(ModelAndView view) {
        view.setViewName("employee/form");
        view.addObject("depts", deptService.listAll());
        return view;
    }

    @RequestMapping(method = RequestMethod.GET, value = "/detail/{employeeId}")
    public ModelAndView detail(@PathVariable Integer employeeId, ModelAndView view) {
        view.setViewName("employee/form");
        view.addObject("employee", employeeService.getById(employeeId));
        view.addObject("depts", deptService.listAll());
        return view;
    }

    @RequestMapping(method = RequestMethod.POST, value = "/update")
    public String add(Employee employee) {
        if(employee.getDept().getId() == null) {
            employee.setDept(null);
        }
        employeeService.saveOrUpdate(employee);
        return "redirect:/employee/";
    }

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66400.html

相关文章

  • Java后端

    摘要:,面向切面编程,中最主要的是用于事务方面的使用。目标达成后还会有去构建微服务,希望大家多多支持。原文地址手把手教程优雅的应用四手把手实现后端搭建第四期 SpringMVC 干货系列:从零搭建 SpringMVC+mybatis(四):Spring 两大核心之 AOP 学习 | 掘金技术征文 原本地址:SpringMVC 干货系列:从零搭建 SpringMVC+mybatis(四):Sp...

    joyvw 评论0 收藏0
  • SpringBoot的学习之路(01):缘起

    摘要:喜欢学习新的技术和实现方案,挑战难点。第三层直接符合的。遇到的问题,也尽可能的去一起解决,减轻学习上的痛苦。学习完了,就得实战。当然也有我很多没有考虑到的,还需继续学习。在此期间,也可能会有更好,更有趣的想法在其中产生。 showImg(https://segmentfault.com/img/remote/1460000019521851); 有人说,Spring Boot的出现,让...

    李世赞 评论0 收藏0
  • Karaf(OSGi)+CXF荆棘之路

    摘要:笔者很菜,文章仅供自己复习使用,不专业之处请见谅。现在公司让用的框架,未来也许某天也会成为主流的吧,本文主要讲解如何简单使用进行开发。这里谈的是不是,两个技术名词长得很像却是两码事看错文章的朋友请打住。在标签下指定属性所对应的类。 吐槽:不断的JAVA新技术学习中,幸得笔者同事xunhua是大神,真的是大神级那种,一路抱大腿走过荆棘之路,真的可以用荆棘来形容Karaf(OSGi)+ C...

    hankkin 评论0 收藏0
  • Java进阶之路

    摘要:探索专为而设计的将探讨进行了何种改进,以及这些改进背后的原因。关于最友好的文章进阶前言之前就写过一篇关于最友好的文章反响很不错,由于那篇文章的定位就是简单友好,因此尽可能的摒弃复杂的概念,只抓住关键的东西来讲,以保证大家都能看懂。 周月切换日历 一个可以进行周月切换的日历,左右滑动的切换月份,上下滑动可以进行周,月不同的视图切换,可以进行事件的标记,以及节假日的显示,功能丰富 Andr...

    sushi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<