zoukankan      html  css  js  c++  java
  • 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" ;
            }
  • 相关阅读:
    村上春树的《海边的卡夫卡》与中日现实
    熊的甜蜜世界
    VS创建dll和调用dll
    DIRECTSHOW在VS2005中PVOID64问题和配置问题
    Vs 2008 解决方案的目录结构设置和管理
    SQL Server 2008中的代码安全(二):DDL触发器与登录触发器
    如何在自动SGA管理模式下调节参数设置
    将ORACLE数据库从归档改成非归档状态
    查看oracle数据库是否归档和修改归档模式(转)
    oracle TRANSLATE函数详解
  • 原文地址:https://www.cnblogs.com/cw172/p/11854169.html
Copyright © 2011-2022 走看看