上一篇教程和大家一起整合了Spring+SpringMVC+MyBatis+Shiro+Log4j框架,我们在学习java web编程道路上都会遇到几个坎,迈过去了就一路欢畅,很多没迈过去的同学就放弃了。第一个坎是安装集成开发环境,第二个坎就是各个框架的整合。同学们如果能解决整合过程中遇到的各种各样的问题并完成整合,那基本上可以说已经入了门,向web编程迈进了一大步!
本篇教程呢,和大家开始实现后台管理系统页面和相关功能,第一个要实现的功能就是登录。在这里,为了能让大家更加深刻地体会工作中的实际开发流程,我们来模拟实际开发中以需求驱动的形式来完成这篇教程的讲解。
**温馨提示**:本系列教程使用了Bootstrap、jQuery、图片等静态资源,关注公众号「小白轻松学编程」回复关键字【静态资源】即可获取。
一、登录功能的需求
首先我们来理清一下完整的登录功能有哪些需要实现的功能点,一个完整的登录功能应该包括:
- 登录页面实现(login.jsp):包含用户名和密码输入框,一个“登录”按钮
- 账号信息验证成功后,跳转到系统首页(index.jsp)
- 当登录失败时,提示失败信息,如“用户名或密码错误”、“用户已锁定”等
二、登录页面实现
1. login.jsp。页面中两个输入框,一个登录按钮。并且,用户名输入框上方有个默认隐藏的span,用于展示错误信息。点击【登录】按钮调用login()方法向后台发起Ajax请求,当登录不成功时,提示后台返回的错误信息;登录成功时,跳转到"/index"页面。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<title>欢迎登录OMS</title>
<link rel="stylesheet" href="<%=basePath%>/css/bootstrap-3.3.7-dist/css/bootstrap.min.css">
<link rel="stylesheet" href="<%=basePath%>/css/font-awesome-4.7.0/cs