• SpringMVC拦截器


    一、前言

    SpringMVC是目前主流的Web MVC框架之一。 

    如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html

    拦截器是每个Web框架必备的功能,也是个老生常谈的主题了。

    本文将分析SpringMVC的拦截器功能是如何设计的,让读者了解该功能设计的原理。

    二、示例

    Spring MVC本身没有数据校验的功能,它使用Hibernate的校验框架来完成。

    1.导入pom节点

    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>5.4.1.Final</version>
            </dependency>
    

      

    2.编辑UserInfo实体类

    public class UserInfo {
        @NotNu1l(message="编号不能为空")
        private Integer user_ id;
        @NotNull
        @Length(min = 2,max = 8,message = "用户名不能少于2位大于8位" )
        private String user. name;
        @Email(message = "邮箱格式不正确")
        private String user. email;
        @Pattern(regexp = "" ,message = "手机号格式不正切")
        private String user. phone;
        private String user_ address;
        @Pattern(regexp =“" ,message =” 身份证号不正确")
        private String user. cardCode;
        //身份证号
        pub1ic Integer getUser_ id() {
            return user_ id;
        }

    3.编写jsp页面 

    <form action=" /my/validate" method="post">
        编号: <input type="text" name="user. id"/> <br/>
        姓名: <input type= "text" name="user. name"/>
        <br/>
        邮箱: <input type="text" name="user. email"/> <br/>
        手机号: <input type="text" name="user phone"/> <br/>
        地址: <input type="text" name="user. address"/> <br/>
        身份证号:<input type="text" name="user cardCode"/> <br/>
        <input type="submit" value=" 提交" />
    </form>

    4.编写validate进行数据的效验

    @RequestMapping("/validate")
        public String validate(@Valid UserInfo info, BindingResult bindingResult){
    //如果有异常信息
            if (bindingResult . hasErrors()) {
    //获取异常信息对象
                List<0bjectError> errors = bindingResult . getAllErrors();
    //将异常信息输出
                for (ObjectError error : errors)
                {
                    System. out .println(error . getDefaultMessage());
                }
                System. out . print1n(info. getUser_ email());
                return "index" ;
            }
  • 相关阅读:
    IP 排序
    React 项目搭建
    Nuxt
    element table 封装
    iviewui Slider 滑块的坑
    浏览器自动填写用户名和密码
    asd
    正则表达式
    snmp中载入第三方mib库(转载)
    一键lamp
  • 原文地址:https://www.cnblogs.com/cw172/p/11854169.html
Copyright © 2020-2023  润新知