欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

自己动手写MiniBBS系列(基本篇)之用户登录

程序员文章站 2022-03-04 12:03:51
  用户登录方法1——全方式 逻辑流程图:   登录验证.jsp代码:    <%...

 

用户登录方法1——全方式

逻辑流程图:

自己动手写MiniBBS系列(基本篇)之用户登录

 

登录验证.jsp代码:

<body>

   <%

    string username = request.getparameter("username");

    string password = request.getparameter("password");

    

    class.forname("sun.jdbc.odbc.jdbcodbcdriver");

    

    connection ct=drivermanager.getconnection("jdbc:odbc:mysql","root","asdasd");

    

    string ckusersql="select password from user where username='"+username+"'";

    

    statement st=ct.createstatement();

    

    resultset rs= st.executequery(ckusersql);

    

    if(rs.next()){

        if(password.equals(rs.getstring(1)))

            response.sendredirect("success.jsp");

        else

            response.sendredirect("fail.jsp"); //password error

    }else

        response.sendredirect("fail.jsp"); //user do not exist

   

    %>

 </body>

 用户登录方法2——jsp->servlet->jsp

逻辑流程图:

自己动手写MiniBBS系列(基本篇)之用户登录

 

servlet代码基本与jsp验证代码一致。

那么,这两种方式区别在那里呢?

答:一个是jsp做逻辑判断,一个是servlet做逻辑判断!(废话)

这不是废话,我们应该考虑到这jsp和servlet的主要职责分别是什么。jsp本来就是用来做呈现层的,是html中镶嵌部分java代码片段。我们回过头看jsp的登录验证,整个body体中没有一句话是用来给显示的,这就失去了jsp的优势。并且jsp最终还需要web容器解析成servlet。

所以,我们应该让每一个部分发挥他本体优势,不用servlet做登录界面,也别用jsp做逻辑验证。(虽然他们都可以做到)

 

 用户登录方法3——jsp->servlet->java class->servlet->jsp

逻辑流程图:

自己动手写MiniBBS系列(基本篇)之用户登录

 

专门设立java类进行数据验证,函数返回验证结果。

当然,我们还应该需要一个专门的类负责链接,执行sql语句。(图中并没有表现出来,上面的代码也不是这么干的,但我们确实应该使用一个类来做这些)

至于为什么要这么做,大家各抒己见。我就赘述了。

本文出自 “摺扇一路走来” 博客