您的位置:首页 > 其它

CDI进阶第三步 CDI验证器

2016-01-11 14:32 218 查看
CDI进阶第三步 验证器

验证的需求在实际的应用开发中经常用到,比如对EMAIL进行验证,对手机号码进行验证等等。

我这里用一个简单的DEMO来讲下怎样使用J2EE的验证技术。

J2EE的验证技术很通用,不止在CDI可以用,而且在EJB,JPA都可以使用。

为了简单起见,我们先使用J2EE内建的注解来进行验证。

先写个简单的CDI BEAN。



package cdivalidate;



import javax.enterprise.context.RequestScoped;

import javax.validation.constraints.Max;



@RequestScoped

public class HelloBean {

private int num;



public void setNum(@Max(100) int num) {

this.num = num;

}



public CharSequence greeting() {

return "Hello," + num;

}



}

这里用到一个注解,javax.validation.constraints.Max,这是个内建注解,表示最大值为100,也就是超过100就不会报错。然后我们写个servlet来试一试。

package cdivalidate;



import java.io.IOException;



import javax.inject.Inject;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;



@WebServlet("/hello.html")

public class HelloServlet extends HttpServlet {



private static final long serialVersionUID = 1L;



@Inject

private HelloBean helloBean;



@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

int num = Integer.parseInt(req.getParameter("num"));

helloBean.setNum(num);

resp.getWriter().append(helloBean.greeting());

}



}

好了,servlet写完了。

开始在浏览器试一试。






可以看到当我在浏览器输入100时,很正常,输入101后,就报异常了,验证不通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: