栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM框架实战详细教程(五)Spring MVC使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM框架实战详细教程(五)Spring MVC使用

        要学习Spring MVC,必须清楚Servlet的作用,才能对比认识到Spring MVC的作用。因为Spring MVC是封装了Servlet,对外提供一套简化的接口供开发者使用。

Servlet主要作用:

1.提供对外的Web访问接口,可以通过URL访问该Servlet类2.转发3.重定向4.接受参数

        那Spring MVC也要解决以上方法,并且提供更简单的方式:

Spring MVC要实现的功能:

1.提供方法级别的URL绑定2.ModelAndView3.redirect:重定向的URL4.方法形式参数的方式接受参数
前台发来的参数名和方法形式参数名保持一致,即可接收到发来的参数值。
可以是一个,可以是多个,也可以是JavaBean的参数形式,而且能够做到类型的直接转换

package controller;

import entity.Student;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class TestController {
   //方法绑定URL
    @RequestMapping("/test1")
    public void test1() {
        System.out.println("hello!");
    }

    //返回值表示要转发的视图名
    @RequestMapping("/test2")
    public String test2() {
        return "test2";
    }

    //转发到页面,并且将数据放到了reqeust作用域,Spring MVC隐藏了request概念,它提供了一个ModelAndView的类
    @RequestMapping("/test3")
    public ModelAndView test3() {
        String name = "Tom";
        ModelAndView mv = new ModelAndView("test3");
        mv.addObject("name", name);
        return mv;
    }
    //重定向
    @RequestMapping("/test4")
    public String test4() {
        return "redirect:test1.do";
    }
    //接受前台传来的同名参数
    @RequestMapping("/test5")
    public void test5(String type) {
        System.out.println(type);
    }
    //接受前台传来的不同名参数
    @RequestMapping("/test6")
    public void test6(@RequestParam(name="type") String t) {
        System.out.println(t);
    }
    //接受前台传来的多个参数
    @RequestMapping("/test7")
    public void test7(String name,String gender) {
        System.out.println(name+" "+gender);
    }
    //接受前台传来的参数,并自动实现类型转换
    @RequestMapping("/test8")
    public void test8(String name,String gender,int age) {
        System.out.println(name+" "+gender+" "+age);
    }
   //接受前台传来的参数,并将值封装到JavaBean对应的同名属性中
    @RequestMapping("/test9")
    public void test9(Student stu) {
        System.out.println(stu.getName()+" "+stu.getGender()+" "+stu.getAge());
    }
}

以上代码,可以通过URL自行测试,如:

/testmvc_war_exploded/test9.do?name=Tom&gender=%E7%94%B7&age=20

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778843.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号