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" ;
            }
  • 相关阅读:
    数学+高精度 ZOJ 2313 Chinese Girls' Amusement
    最短路(Bellman_Ford) POJ 1860 Currency Exchange
    贪心 Gym 100502E Opening Ceremony
    概率 Gym 100502D Dice Game
    判断 Gym 100502K Train Passengers
    BFS POJ 3278 Catch That Cow
    DFS POJ 2362 Square
    DFS ZOJ 1002/HDOJ 1045 Fire Net
    组合数学(全排列)+DFS CSU 1563 Lexicography
    stack UVA 442 Matrix Chain Multiplication
  • 原文地址:https://www.cnblogs.com/cw172/p/11854169.html
Copyright © 2011-2022 走看看