基于MVC模式模拟实现登录注册开发过程(二)

本文详述了基于MVC模式实现登录注册功能的开发过程,涉及Dao、Service和Web层。在Dao层,讨论了接口与实现类的抽取、自定义编译时异常UserExistException。Service层中,介绍了BASE64加密在传输二进制数据中的应用。Web层则探讨了BeanUtils在对象拷贝中的使用和日期转换。文章还强调了避免使用不安全的内部方法和提高代码可扩展性的设计原则。
摘要由CSDN通过智能技术生成

在上篇中,已经将整体的实现过程详细展示出来了,对于个人而言,在写代码的时候总会碰到一些难点和学习到一些新的东西,接下来,我想把这些总结记录下来,希望在这里能看到自己的成长。

*Dao层

1.对于具体实现类接口的抽取的过程中,其实两者的顺序是可以相互交换。可以先实现具体实现类,然后将其进行抽取出来成接口,具体在Eclipse中抽取方式为:点击当前具体实现类——>选择refactor(重构)——>选择Extract interface(接口)——>点击确认,最后成功抽取接口,当然也可以先写接口和一些抽象方法,然后写实现类时继承接口,重写抽象方法即可。
2.自定义异常UserExistException,具体是为了捕捉用户不存在时的编译时异常,无论是利用标准API异常类来处理特殊的异常,或者编写自定义的异常类来达到同样目的,问题的关键是:当这个异常发生时,如何及时捕获这个异常;捕获这个异常后,如何产生精确的异常处理信息。在这里,此处不能使用运行时异常(RuntimeException)。这就要明白运行时异常和编译时异常的区别。
那么何为运行时异常?何为编译时异常?这两者又有什么区别?适应场景?
运行时异常可以通过改变程序避免这种情况发生,比如,除数为0异常,可以先判断除数是否是0,如果是0,则结束此程序。从继承上来看,只要是继承RunTimeException类的,都是运行时异常,其它为编译时异常。使用抛出处理方式处理异常时,对于编译时异常,当函数内部有异常抛出,该函数必须声明,调用者也必须处理,运行时异常则不一定要声明,调用者也不必处理。

//例如抛出ArithmeticException异常:
public class Test {  
    public static  int a=0;  
    public static void main(String[] args){  
        // TODO Auto-generated method stub  
          a = test(4,0);  
    }  
    public static int test(int a,int b){  
        if(b==0){  
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值