Web开发模式【Mode I 和Mode II的介绍、应用案例】(八)

做到这里,还是有丢丢的问题,我们不应该把用户输入的数据全部清空的!你想想,如果用户注册需要输入多个信息,仅仅一个出错了,就把全部信息清空,要他重新填写,这样是不合理的!

  • 我们在各个的输入项中使用EL表达式回显数据就行了


Web开发模式【Mode I 和Mode II的介绍、应用案例】(八)

  • 效果:


Web开发模式【Mode I 和Mode II的介绍、应用案例】(八)

还没有完善,细心的朋友可以发现,上面图的日期也是错误的,但是没一次性标记出来给用户!要改也十分简单:在验证的时候,不要先急着return false 用一个布尔型变量记住,最后返回布尔型的变量即可

Web开发模式【Mode I 和Mode II的介绍、应用案例】(八)

无论注册成功还是失败都需要给用户一个友好界面的!

Web开发模式【Mode I 和Mode II的介绍、应用案例】(八)


5.2登陆界面


登陆和注册是类似的,我们按着注册的步骤来写就对了!

首先写一个提供登陆界面的Servlet

//直接跳转到登陆界面

        request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request, response);

  • 写登陆界面

<h1>这是登陆界面</h1>


<form action="${pageContext.request.contextPath}/LoginServlet" method="post">

    <table>

        <tr>

            <td>用户名</td>

            <td><input type="text" name="username"></td>

        </tr>

        <tr>

            <td>密码</td>

            <td><input type="password" name="password"></td>

        </tr>

        <tr>

            <td><input type="submit" value="提交"></td>

            <td><input type="reset" name="重置"></td>

        </tr>

    </table>

</form>

  • 写处理登陆表单的Servlet

//获取提交过来的数据

        String username = request.getParameter("username");

        String password = request.getParameter("password");


        //调用service层的方法,去查询数据库(XML)是否有该条记录

        try {

            ServiceBussiness serviceBussiness = new UserServiceXML();

            User user = serviceBussiness.login(username, password);


            if (user == null) {

                request.setAttribute("message", "用户名或密码是错的");

            } else {

                request.setAttribute("message","登陆成功");

            }

        } catch (Exception e) {

            e.printStackTrace();

            request.setAttribute("message","登陆失败咯");

        }

        request.getRequestDispatcher("/message.jsp").forward(request, response);

  • 效果:


Web开发模式【Mode I 和Mode II的介绍、应用案例】(八)

5.3把注册和登陆都挂在首页上


<h1>这是首页!</h1>


  <a href="${pageContext.request.contextPath}/LoginUIServlet">登陆</a>

  <a href="${pageContext.request.contextPath}/RegisterUIServlet">注册</a>

  </body>


Web开发模式【Mode I 和Mode II的介绍、应用案例】(八)

总结


  • 使用JSP+JavaBean开发一个简单计算器,是非常容易的,显示页面和请求都是交由JSP来做。没有什么新的知识点,用一些JSP行为就能完成了。
  • MVC模式开发使用Servlet来做处理请求,代码量略大,但层次清晰
  • 使用BeanUtils开发组件可以将request请求的参数封装到JavaBean对象中,Date属性要另外处理
  • 校验的功能也是使用一个JavaBean来完成,目的就是为了可重用性,职责分工。同时,我们可以在该JavaBean设置一个Map集合来保存错误的信息,以便在前台上展示错误信息。


上一篇:微信小程序:wx.getUserInfo 接口的变动与使用


下一篇:带你读《云原生应用开发 Operator原理与实践》第二章 Operator 原理2.2Client-go 原理(十五)