• Spring 学习笔记01


    以一个论坛登陆模块来讲解如何使用spring

    登陆功能虽然简单,但是模块虽然很小,但是基本包括了一般的web应用的操作。涵盖了持久层数据访问(数据库相关操作)、业务层事务管理(数据库操作回滚等)、展现层MVC等企业操作。

    实例功能简介

    登陆的基本流程就不细说了,要说的是登陆成功之后,记录用户的成功登陆日志,更新用户的左后登陆时间和IP,并且给用户增加5个积分,然后重定向到欢迎界面,页面流程如下
    页面登陆流程图
    持久层拥有两个DAO类,分别是UserDao和LoginLogDao,在业务层对应一个业务类UserService,在展现层拥有一个LoginController类和两个JSP页面,分别是登陆页面login.jsp和欢迎就界面main.jsp。
    下面看看登陆整个过程的时序图。
    登陆时序图
    1.用户先访问login.jsp,返回带用户名/密码表单的登录页面;
    2.用户在登陆页输入用户名和密码,提交表单到服务器,Spring根据配置调用LoginController控制器响应登陆请求;
    3.LoginController调用UserService#hasMatchUser()方法,UserService内部通过调用持久层的UserDao完成具体的数据库访问操作;
    4.如果不存在匹配用户,重定向到login.jsp页面,并报告错误,否则下一步;
    5.LoginController调用UserService#findUserByUserName()方法,加载匹配User对象并更新用户最近一次登陆时间和登陆IP;
    6.LoginController调用UserService#loginSuccess()方法,进行登陆成功业务处理:具体为先调用UserDao#updateLoginInfo()为用户添加5个积分,然后创建一个LoginLog对象,并利用LoginLogDao将其插入数据库中;
    7.重定向到欢迎界面main.jsp。


    在开发前需要准备的开发环境

    Linux:Ubun 14.04 64bit
    IDE:IntelliJ IDEA 14.03
    JDK:1.7.40
    MySQL:5.5.44
    Tomcat:7.0.47
    Maven:3.0.5
    
  • 相关阅读:
    (转)关于IBM小机P520的面板使用
    (转)mysql的sql_mode合理设置
    (转)Mysql技术内幕InnoDB存储引擎-事务&备份&性能调优
    杨辉三角
    异或的陷阱(转)
    通过数组看栈堆
    数组的一些知识点和插入选择冒泡排序
    运算符
    Java的变量相关
    有符号的数据表示法(原、反、补)
  • 原文地址:https://www.cnblogs.com/little-sjq/p/4770547.html
Copyright © 2020-2023  润新知