初识SpringMVC
狂神说SpringMVC01:什么是SpringMVC
回顾MVC、Servlet
SpringMVC原理
用注解开发
- 建maven项目
- 添加一个Moudle,添加web支持
- pom.xml导入maven依赖+解决资源过滤问题
- 配置Tomcat9
- 配置web.xml
- resources配置springmvc-servlet.xml
- java创建com.kuang.controller中的HelloController.java
- 创建WEB-INF/jsp/hello.jsp
- 测试运行
之后只需要修改controller和视图jsp(7、8)即可!
见springmvc-01的hello
数据处理
处理提交数据:提交一个对象
- 偷懒导入Lombok
Lombok的使用 - 添加pojo实体类
package com.kuang.pojo;
import lombok.Data;
@Data
public class User {
private int id;
private String name;
private int age;
}
- 添加UserController
package com.kuang.controller;
import com.kuang.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/user")
public class UserController {
//Localhost:8080/user/t1?id=1&name=wjy&age=22
@GetMapping("/t1")
public String test1(User user, Model model){
//1.接收前端数据
System.out.println(user);
//2.将返回的结果传递给前端,用Model
model.addAttribute("msg",user);
//3.试图跳转
return "test";
}
}
- test.jsp
- 测试localhost:8080/user/t1?id=1&name=wjy&age=22
说明:如果使用对象的话,前端传递的参数名和对象名必须一致,否则就是null。
乱码问题
在web.xml中加过滤器
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Json使用
狂神说SpringMVC06:Json交互处理
直接fastjason比较快