美文网首页
Servlet中获取数值时出现异常的解决方法

Servlet中获取数值时出现异常的解决方法

作者: pr0metheus | 来源:发表于2018-03-21 22:22 被阅读0次

一般Servlet用于准备数据,即从http请求中获取参数值。例如我们要获取一个人的基本信息,那么通常我们事先会有一个Person类里面有属性name、age、address等等,通常情况下age定义为int类型,那么在Servlet中通常用long age = Integer.parsetInt(request.getParameter("age"));来处理,如果用户输入的是数值不会出现问题,但如果用户输入的是非数值那么就会报NumberFormatException运行时异常,这样异常信息就会直接到达客户端,太糟糕了,那么怎么处理呢?

基本思路就是准备一个默认值,如果是非数值的话就用默认值代替,否则就用正确的数值。代码如下:

public class ParamUtils {

    public static long getParameter(ServletRequest request, String name, long defaultValue) {
        String value = request.getParameter(name);
        try {
            return Integer.parseInt(value);
        } catch (NumberFormatException e) {
            return defaultValue;
        }
    }
    
    public static long getParameter(ServletRequest request, String name) {
        return getParameter(request, name, 0);
    }
    
}

相关文章

网友评论

      本文标题:Servlet中获取数值时出现异常的解决方法

      本文链接:https://www.haomeiwen.com/subject/aygnqftx.html