项目主要内容分析:
第一天完成了系统用户登录、退出、密码修改、全局异常、非法请求与记住我等系统基本功能。
项目的目录结构如图:
1 登录思路:
** * 1.参数校验 * 用户名 非空 * 密码 非空 * 2.根据用户名 查询用户记录 * 3.校验用户存在性 * 不存在 -->记录不存在 方法结束 * 4.用户存在 * 校验密码 * 密码错误-->密码不正确 方法结束 * 5.密码正确 * 用户登录成功 返回用户相关信息 */
各个文件逻辑
UserService->login 方法代码实现
UserDao->queryUserByUserName 方法定 义 & Sql 配置
UserController层login方法实现
.前端登录js 方法实现
其中:前端用ndex.ftl 添加对应index.js 使用layui 表单组件实现表单提交操作
layui的用法可以在官网找到layer弹层组件开发文档 - Layui
==================================================
2主页面显示用户名信息
IndexController.java main方法转发时查询登录用户信息并放置到 request域。
@Controller
public class IndexController extends
BaseController {
/**
* 后端管理主页面
* @return
*/
@RequestMapping("main")
public String main(HttpServletRequest
request){
Integer userId =
LoginUserUtil.releaseUserIdFromCookie(request);
request.setAttribute("user",userService.selectB
yPrimaryKey(userId));
return "main";
}
}
3全局异常统一处理:
控制层
方法返回的内容两种情况
1 视图:视图异常
2 Json:方法执行错误 返回错误json信息
全局异常拦截器实现
实现HandlerExceptionResolver 接口 ,处理应用程序异常信息
package com.xxxx.crm;
import com.alibaba.fastjson.JSON;
import com.xxxx.crm.base.ResultInfo;
import com.xxxx.crm.exceptions.NoLoginExceptio