十二、SpringMVC

1. SpringMVC环境搭建

  1. 创建maven---web项目

  2. 补全目录

  3. 添加依赖

  4. 加入tomcat插件

    org.springframework spring-webmvc 5.3.16 org.apache.tomcat.maven tomcat7-maven-plugin 2.2 /testwebproject 8849
  5. 创建控制器类,跳转到index.jsp

    @Controller
    public class TestController { //控制器类
    @RequestMapping("/test1")
    public String test1(){
    //响应给前端(浏览器)index.jsp页面:
    return "index.jsp";
    }
    }

  6. 新建Spring MVC框架配置文件springmvc.xml



    <context:component-scan base-package="com.luo.controller"></context:component-scan>

    mvc:annotation-driven</mvc:annotation-driven>

修改web.xml配置

复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"> 
</web-app>
  1. 编写web.xml内容



    springmvc
    org.springframework.web.servlet.DispatcherServlet

    contextConfigLocation

    classpath:springmvc.xml



    1


    springmvc

    /

2. SpringMVC获取普通参数

获取普通参数,只需要在控制单元中提供与请求参数同名的方法参数即可,Spring MVC会自动进行类型转换。

复制代码
    @RequestMapping("/testParam")
    public String testParam(String name, int age){
        System.out.println(name+"---"+ age);
        return "index.jsp";
    }

3. 使用类对象作为控制单元参数

JavaBean:一个包含私有属性,getter/setter方法和无参构造方法的Java类,是不是感觉和实体类特别像。其实写法上和实体类相同。唯一区别是实体类是数据库层面的概念,类型中属性要和数据库字段对应。而JavaBean的属性是灵活的,不是必须和哪里对应的。

JavaBean是一个专业概念,可以简单点理解:使用类对象做为控制单元参数,接收请求参数,如果不是特别较真,狭义上可以认为JavaBean就是项目中的实体类。

在控制单元中放置一个类型对象,对象名称没有要求,只需要保证请求参数名和类的属性名相同就可以了。

复制代码
public class Person {
    private String name;
    private int age;
    private double score;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }

    public Person() {
    }
    
    public Person(String name, int age, double score) {
        this.name = name;
        this.age = age;
        this.score = score;
    }
}

    @RequestMapping("/testParam2")
    public String testParam2(Person p){
        System.out.println(p.getName()+"---"+ p.getAge()+"---"+p.getScore());
        return "index.jsp";
    }
相关推荐
Terra.K15 小时前
Spring AI day1(SSE+AI)
java·人工智能·spring·springai
Wang's Blog19 小时前
Java框架 SpringCloud 快速入门: 路由断言工厂
java·spring·spring cloud
Q264336502321 小时前
【有源码】基于SpringBoot+Vue的博物馆展览与服务一体化平台-java博物馆数字化展品展示与交互平台设计
java·vue.js·spring boot·spring·毕业设计·javaweb·课程设计
大圣编蚕1 天前
Spring AOP 失效排查:从原理到实战的完整指南
java·后端·spring
EatFan1 天前
MCP 从概念到落地:Java(Spring AI Alibaba)与 .NET 双栈接入实操对比
java·人工智能·后端·spring·.net·java后端·mcp
vx_Biye_Design1 天前
springboot小区管理系统68491-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
liangsheng_g1 天前
SpringAOP两套代理创建路线设计哲学与开源实践
spring·开源·代码规范
专业程序开发源1 天前
springboot外卖系统94294-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
谢亮_vipxieliang1 天前
Spring Cloud 服务治理入门:注册发现、配置中心、网关限流、熔断降级与分布式一致性方案
分布式·spring·spring cloud
专业程序开发源1 天前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计