springMVC知识点

一.@RequestMapping注解

1.@RequestMapping("/items") 使用在类上,用来窄化请求路径
        
2.@RequestMapping("/itemsList.html")使用在方法上,表示此方法可以处理的请求地址:
localhost:8899/items/itemsList.html
        
3.@RequestMapping注解,method属性表示请求方式
例如:当前限制请求只能是post时可以声明@RequestMapping(path="/itemsList.html",method=RequestMethod.POST)
​
如果在处理此请求时 以地址栏直接访问或者超链接或者get请求会报错:405状态码
以上此注解 等价于 @PostMapping("itemsList.html")
​
4.推荐使用 @PostMapping 或者 @GetMapping

二.参数绑定

1.默认支持的类型:
        HttpServletRequest,
        HttpServletResponse,
        HttpSession,
        Model/ModelMap
        
2.简单类型
    前端界面:input输入框 name="username"  请求路径 xxxx?username=admin
    springMVC的方法的形参中,形参名称必须和name属性值 相同 则可以进行自动参数绑定
        如果不一致,可以搭配@RequestParam(value = "username",required = true)注解
        表示当前参数必须传入若未传入会出现400错误 Required request parameter 'username' for method parameter type String is not present
        
3.pojo类型
    前端界面:input输入框较多时可以使用
    springMVC的方法的形参中,形参的类型是pojo类,要求pojo类中的属性名称 必须 和 输入框name属性的值一致,则可以参数绑定
​
4.文件上传的类型
    前端界面:input输入框 file类型 name="photo"属性
    springMVC的方法的形参中 形参的类型是MultipartFile,形参名称必须和name属性一致,则可以参数绑定。
        若不一致,则可以搭配 @RequestParam("photo")注解
        
5.自定义类型参数绑定
     方式一:可以在pojo类的 Date createtime 属性上
            添加注解 @DateTimeFormat(pattern = "yyyy-MM-dd")
     方式二: 可以自定义参数绑定器
             1.自定义参数绑定器 implements Converter<String, Date>
             2.springMVC配置类中,将自定义参数绑定器注入到容器中 @Bean方式
             3.springMVC(implements WebMvcConfigurer)配置类中,重写addFormatters方法注入 参数绑定器
​
6.包装类型pojo参数绑定   
    前端界面:input输入框name="items.name"
    springMVC的方法形参中 形参类型是ItemsQueryVO类型 必须和vo类型的items属性名.name属性名 一致,才可以参数绑定
​
    
7.数组绑定
    前端界面:多个 input标签 type="checkbox" 的name="id"  收集到多个同名的请求参数
    springMVC的方法形参中 形参的类型是数组 形参名字和name属性值 一致 才可以数组绑定          
​
8.List绑定
  前端界面: 多个input输入框 name = "itemsList[下标].属性名"
  springMVC的方法形参中 形参类型是ItemsQueryVO类型 必须和vo类型的   List<Items>itemsList属性名一致  ,才可以参数绑定       

三.自定义校验器

1.引入hibernate validator的校验框架依赖
2.在resources目录下 新建自定义校验提示信息属性文件 例如 CustomValidationMessages.properties
3.在springMVC配置类中:
    3.1 配置提示信息属性文件ReloadableResourceBundleMessageSource @Bean
    3.2 配置自定义校验器LocalValidatorFactoryBean 指定校验器提供方,指定校验信息文件 @Bean
    3.3 重写getValidator方法中,注册校验器到springMVC中
4.在实体类pojo中,使用注解@NotNull等  添加校验规则
5.在controller类的方法形参中,
    5.1 需要校验Items属性内容是否合格 形参之前添加注解@Validated
    5.2 需要在校验形参后面,必须紧跟BindingResult result参数 可以通过该参数获取校验结果
6.分组校验
    6.1 创建校验的分组 是空接口
    6.2 在pojo类中 指定校验规则时,划分分组 
        @NotNull(message = "{items.createtime.msg}",groups = {ValidatorGroup2.class})
    6.3 在controller类的方法形参中,通过@Validated(value = {ValidatorGroup1.class}) Items items
        确保只生效校验分组1

四.数据回显

数据回显:
    1.model中封装数据   model.addAttribute("key",value)
        前端界面:使用${key}实现回显
    2.springMVC默认回显机制,要求input的value属性的key和 类名首字母小写一致
        pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写)
        前端界面:使用${pojo类型(首字母小写)}实现回显

五.全局异常处理器

    1.自定义异常基类 extends Exception
       LoginException extends 自定义异常基类
    2.自定义全局异常处理器 implements HandlerExceptionResolver
        2.1 重写resolveException方法,自定义处理异常的逻辑
    3.在springMVC配置类:
        3.1 ioc容器中注入 自定义全局异常处理器 @Bean
        3.2 重写configureHandlerExceptionResolvers方法,springMVC中注册自定义全局异常处理器
    4.触发异常,可以在controller,service,dao等throws抛出异常,将来由springMVC前端控制器统一处理    

##六.使用restFul风格

1.前提:
    1.1 在WebInitializer配置类中,设置请求路径为/
        servletRegistration.addMapping("/");
    1.2 在SpringMVC配置类中,设置对静态资源放行 重写configureDefaultServletHandling方法
2.若需要支持文件上传功能,在springMVC配置类中 配置多部件解析器支持post put请求
        multipartResolver.setSupportedMethods("POST","PUT");

七.mybatis分页插件

    1.在pom.xml添加pageHelper依赖
    2.在Mybatis配置类中,会话工厂中 加入分页插件
    3.在service业务中,真正查询之前,PageHelper.startPage(当前页码,每页展示数量)
    4.在controller中,在查询列表之后,封装PageInfo对象
        PageInfo<User> pageInfo = new PageInfo<User>(列表数据);      

八.thymeleaf整合

    1.在pom.xml中添加依赖 
    2.新建ThymeleafTemplateConfig配置类:配置视图解析器,模板引擎,模板解析器
    3.在页面中使用thyemeleaf表达式 ,先导入命名空间,再使用th:text th:if th:each...

九.文件上传

    1.在pom.xml中添加依赖 commons-upload commons-io
    2.在SpringMVCConfig配置类中,配置多部件解析器CommonsMultipartResolver 支持post put请求
    3.在页面中,表单中指定enctype="multipart/form-data",且input输入框类型是type="file" name="file"
    4.在controller类中,形参列表MultipartFile file 接受文件的请求参数

十.配置拦截器

    1.自定义拦截器 implements HandlerInterceptor 重写preHandle方法
    2.在springMVC配置类中,重写addInterceptors方法 注册自定义拦截器和拦截路径

Spring MVC是一个基于Java的Web开发框架,它是Spring框架的一部分,旨在简化Web应用程序的开发过程。下面是一些关于Spring MVC的知识点: 1. 控制器(Controller):控制器是处理用户请求并返回响应的组件。在Spring MVC中,控制器由@Controller注解标记,并使用@RequestMapping注解来映射URL请求。 2. 模型(Model):模型表示应用程序的数据。在Spring MVC中,模型通常使用POJO(Plain Old Java Object)表示,并且可以通过方法参数或ModelAndView对象传递给视图。 3. 视图(View):视图负责呈现模型数据给用户,并处理用户的输入。在Spring MVC中,视图可以是JSP、Thymeleaf、Velocity等模板引擎。 4. 请求映射(Request Mapping):请求映射用于将URL请求映射到相应的控制器方法。在Spring MVC中,可以使用@RequestMapping注解来定义请求映射。 5. 数据绑定(Data Binding):数据绑定是将请求参数绑定到控制器方法的参数或模型对象的过程。Spring MVC支持多种数据绑定方式,包括基本类型、对象、集合等。 6. 视图解析器(View Resolver):视图解析器用于将逻辑视图名称解析为实际的视图对象。在Spring MVC中,可以通过配置视图解析器来指定视图的解析方式。 7. 拦截器(Interceptor):拦截器用于在请求处理的不同阶段进行拦截和处理。在Spring MVC中,可以使用拦截器实现日志记录、权限验证等功能。 8. 表单处理(Form Handling):Spring MVC提供了丰富的表单处理功能,包括表单验证、表单重复提交防御、数据绑定等。 这些是Spring MVC的一些基本知识点,希望能对你有所帮助!如果你有更具体的问题,我可以继续解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值