今天有个非常重要的事耽搁了一会,但这并不影响我继续更新博文,其实换种思考方式,有的时候根本不是人去养成好习惯,而是一些好习惯在养成人.这是不争的事实,一个好的习惯,不仅可以提升一个人自我思考能力,还可以提升个人对事情的见解,你的见解比别人深,你做起事来才会比别人快.
那么今天来总结分享一下,SpringMVC的基础知识,我个人见解并不是很深,我会尽我所能将我学过的知识一一汇聚出来,感谢各位理解和认可.
前端控制器,接受所有的请求.
解析请求格式的,判断希望要执行哪个具体方法.
负责调用具体方法
视图解析器,解析结果,准备跳转到具体的物理视图.
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
springmvc
/
@Controller//表示该类为控制器类
public class DemoController {
//设置该方法的请求地址
@RequestMapping("demo")
public String demo(){
System.out.println("执行了Demo方法");
return "main.jsp";
}
}
@RequestMapping("demo2")
public String demo2(String username,String password){
System.out.println(username+"==="+password);
return "main.jsp";
}
@RequestMapping("demo2")
public String demo2(String username,@RequestParam(value = "pwd") String password){
System.out.println(username+"==="+password);
return "main.jsp";
}
在web.xml中配置filter--字符编码过滤器
encoding
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encoding
/*
如果你的方法参数是基本数据类型(不是封装类)可以通过:@RequestParam()设置默认值
请求参数名和对象中属性名对应
@RequestMapping("demo4")
public String demo4(Student stu){
System.out.println(stu);
return "main.jsp";
}
传值方式restful
在@RequestMapping中一定要有请求格式对应的
{名称}中的名称可以自定义
@PathVarible获取@RequestMapping中内容,默认按照方法的参数名去寻找
@RequestMapping("demo3/{name1}/{age1}")
public String demo3(@PathVariable("name1") String name, @PathVariable("age1") int age){
System.out.println(name+" "+age);
//"/"表示根目录
return "/main.jsp";
}
添加forward:资源途径,或者省略forward:转发
添加redirect:资源路径,重定向
把客户端上传的文件流转换成MultipartFile封装类
通过MultipartFile封装类获取文件流
在