美文网首页
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