• JSR303和拦截器


     

    目录

    一、JSR303的实现

    二、拦截器的初步认识

     拦截器链

    三、登录权限控制 


    一、JSR303的实现

     

    /* @NotNull :作用于基本数据类型
     *   @NotEmpty    作用于集合
     *   @NotBlank    作用于字符串
     */

     

    1. package com.zking.oa.model;
    2. import sun.plugin2.message.Message;
    3. import javax.validation.constraints.NotBlank;
    4. import javax.validation.constraints.NotNull;
    5. /**
    6. * @NotNull :作用于基本数据类型
    7. * @NotEmpty 作用于集合
    8. * @NotBlank 作用于字符串
    9. */
    10. public class Clazz {
    11. @NotNull(message="cid不能为空")
    12. private Integer cid;
    13. @NotBlank(message="班级不能为空")
    14. private String cname;
    15. @NotBlank(message="教员不能为空")
    16. private String cteacher;
    17. private String pic;
    18. public Clazz(Integer cid, String cname, String cteacher, String pic) {
    19. this.cid = cid;
    20. this.cname = cname;
    21. this.cteacher = cteacher;
    22. this.pic = pic;
    23. }
    24. public Clazz() {
    25. super();
    26. }
    27. public Integer getCid() {
    28. return cid;
    29. }
    30. public void setCid(Integer cid) {
    31. this.cid = cid;
    32. }
    33. public String getCname() {
    34. return cname;
    35. }
    36. public void setCname(String cname) {
    37. this.cname = cname;
    38. }
    39. public String getCteacher() {
    40. return cteacher;
    41. }
    42. public void setCteacher(String cteacher) {
    43. this.cteacher = cteacher;
    44. }
    45. public String getPic() {
    46. return pic;
    47. }
    48. public void setPic(String pic) {
    49. this.pic = pic;
    50. }
    51. }

     使用:

    .jsr303服务daunt校验

    1.pom导入

    2.在待校验的数据库对应的实体类属性打上校验标签

    非空校验

    3.在controller层方法上添加@Valid

    注释配合前面校验标签台添加Bindingresult次对象包含了所有,校验位通过的错误信息

    4可以将所有错误信息以集合方式保存并且传递到前台界面展示

     pom.xml

    
            
                org.hibernate
                hibernate-validator
                6.0.7.Final
            
    
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0</modelVersion>
    6. <groupId>org.example</groupId>
    7. <artifactId>ssm3</artifactId>
    8. <version>1.0-SNAPSHOT</version>
    9. <properties>
    10. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    11. <maven.compiler.source>1.8</maven.compiler.source>
    12. <maven.compiler.target>1.8</maven.compiler.target>
    13. <maven.compiler.plugin.version>3.7.0</maven.compiler.plugin.version>
    14. <!--添加jar包依赖-->
    15. <!--1.spring 5.0.2.RELEASE相关-->
    16. <spring.version>5.0.2.RELEASE</spring.version>
    17. <!--2.mybatis相关-->
    18. <mybatis.version>3.4.5</mybatis.version>
    19. <!--mysql-->
    20. <mysql.version>5.1.44</mysql.version>
    21. <!--pagehelper分页jar依赖-->
    22. <pagehelper.version>5.1.2</pagehelper.version>
    23. <!--mybatis与spring集成jar依赖-->
    24. <mybatis.spring.version>1.3.1</mybatis.spring.version>
    25. <!--3.dbcp2连接池相关 druid-->
    26. <commons.dbcp2.version>2.1.1</commons.dbcp2.version>
    27. <commons.pool2.version>2.4.3</commons.pool2.version>
    28. <!--4.log日志相关-->
    29. <log4j2.version>2.9.1</log4j2.version>
    30. <!--5.其他-->
    31. <junit.version>4.12</junit.version>
    32. <servlet.version>4.0.0</servlet.version>
    33. <lombok.version>1.18.2</lombok.version>
    34. </properties>
    35. <dependencies>
    36. <!--1.spring相关-->
    37. <dependency>
    38. <groupId>org.springframework</groupId>
    39. <artifactId>spring-context</artifactId>
    40. <version>${spring.version}</version>
    41. </dependency>
    42. <dependency>
    43. <groupId>org.springframework</groupId>
    44. <artifactId>spring-orm</artifactId>
    45. <version>${spring.version}</version>
    46. </dependency>
    47. <dependency>
  • 相关阅读:
    百看不如一练系列 32个python实战项目列表,得不到就毁掉
    A-Level Economics 真题及答案解析
    RGMII接口--->(007)FPGA实现RGMII接口(七)
    【打卡】牛客网:BM45 滑动窗口的最大值
    Java抽象类和接口
    如何在 Linux 中删除超大的(100-200GB)文件
    Ubuntu Qt 5.15.2 支持 aarch64
    Elasticsearch节点、副本、分片规划
    TS代码整洁之道(下)
    快手订单导出
  • 原文地址:https://blog.csdn.net/qq_66924116/article/details/126430101