前台;

进入登录页面,浏览器发送请求
后台
登录按钮绑定onclick事件

@Controller
public class IndexController extends BaseController {@RequestMapping("index")public String index(HttpServletRequest request){return "index"; }
}

springMVC 里面配置了,指向前台页面的路径 所以return只需要写文件名,就可以指向该文件

 <context:component-scan base-package="com.shsxt" /><bean id="freemarkerConfig"class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="templateLoaderPath" value="/WEB-INF/views/" /><property name="defaultEncoding" value="UTF-8" /></bean><beanclass="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><property name="prefix" value="" /><property name="suffix" value=".ftl" /><property name="contentType" value="text/html;charset=UTF-8" /></bean>
 onclick="login()"

js代码:
1.用户名和密码的非空校验

   if(isEmpty(userName)){alert("用户名为空");return;}if(isEmpty(userPwd)){alert("密码为空");return;}

发送ajax请求

 var userName = $('#username').val();var userPwd = $('#password').val();$.ajax({url:ctx+"/user/login",type:'post',data:{userName:userName,userPwd:userPwd,},success:function (data) {// console.log(dataif (data.code==200){alert(data.msg);    //信息为登录成功//把用户信息存入cookie$.cookie('userIdStr',data.result.userIdStr);$.cookie('userName',data.result.userName);$.cookie('realName',data.result.realName);//跳转到主页window.location.href=ctx+`/main`;}else {alert(data.msg);}}});

请求进入后台,Controller层
创建了UserInfo类,字段

     private String userIdStr;   //id的加密字符串private String userName;private String realName;@RequestMapping("login")@ResponseBodypublic ResultInfo login(String userName,String userPwd){UserInfo userInfo= userService.login(userName,userPwd);return success("登录成功",userInfo);}

调用Service层

2.通过用户名查询用户
3.匹配密码是否一致

使用断言类和StringUtil判断字符串非空

Util中源码暂时不太懂,属于lang3包中
public static boolean isBlank(CharSequence cs) {int strLen;if (cs != null && (strLen = cs.length()) != 0) {for(int i = 0; i < strLen; ++i) {if (!Character.isWhitespace(cs.charAt(i))) {return false;}}return true;} else {return true;}}
  //1.校验参数 userName和userPwd的非空判断AssertUtil.isTrue(StringUtils.isBlank(userName),"用户名不能为空!");AssertUtil.isTrue(StringUtils.isBlank(userPwd),"用户密码不能为空!");//2. 通过用户名查询用户User user= userMapper.queryUserByName(userName);AssertUtil.isTrue(user==null,"用户不存在或者已注销");//3. 匹配密码是否一致,前台传明文密码, 后台时加密密码AssertUtil.isTrue(!Md5Util.encode(userPwd).equals(user.getUserPwd()),"用户不存在或者密码不正确");return createUserInfo(user);`

判断完毕将参数设置到UserInfo里

private UserInfo createUserInfo(User user) {UserInfo userInfo = new UserInfo();//加密id传递到前台userInfo.setUserIdStr(UserIDBase64.encoderUserID(user.getId()));userInfo.setUserName(user.getUserName());userInfo.setRealName(user.getTrueName());return userInfo;}

dao层

 //登录查询用户名public User queryUserByName(String userName);

UserMapper.xml的配置

 <!-- 通过用户名查询用户 --><select id="queryUserByName" parameterType="string" resultMap="BaseResultMap">SELECT <include refid="Base_Column_List"/> FROM t_user WHERE is_valid=1 AND user_name=#{userName}</select>

退出登录
清空cookie信息,跳转到登录页面


// 退出操作
function logout() {/*** 1.清除cookie* 2.跳转登录页*/$.messager.confirm('来自crm','确定退出?',function (r) {if (r){$.removeCookie("userIdStr");$.removeCookie("userName");$.removeCookie("realName");window.location.href=ctx+'/index';}});
}

CRM客户关系管理系统1登录模块分析和退出登录相关推荐

  1. 悟空CRM客户关系管理系统

    今日总结:上午是复习了一下昨天的SQL数据库的select查询命令,进行了深入理解.然后下午是了解项目操作,目前熟悉悟空CRM客户关系管理系统的各个模块功能,清楚CRM系统里的业务需求 今天上午熟悉了 ...

  2. CRM客户关系管理系统开发第十七讲——实现客户拜访记录管理模块中分页查询客户拜访记录列表的功能

    在CRM客户关系管理系统中,客户的拜访是很重要的一个环节,由业务员面见客户并介绍公司的相关的业务,在业务员回到公司以后,需要对此次的拜访的整个过程记录下来,记录中需要包含拜访的客户的姓名,拜访的时间以 ...

  3. CRM客户关系管理系统开发第十八讲——实现客户拜访记录管理模块中保存客户拜访记录的功能

    跳转到客户拜访记录添加页面 要想实现客户拜访记录管理模块中的保存客户拜访记录的功能,首要前提就是点击新增客户拜访超链接之后要能跳转到客户拜访记录添加页面.前面我们都做完两个模块了,做到这一点还不是依葫 ...

  4. 基于java的CRM客户关系管理系统的设计与实现

    本科毕业设计(论文) 题 目: 基于java的CRM客户关系管理系统的设计与实现 专题题目: 说 明 请按以下顺序编排: 封面 任务书 开题报告 中外文摘要及关键词 目录 正文 附录(可选) 参考文献 ...

  5. JavaWeb实训项目:基于SSM框架的CRM客户关系管理系统(文章最后有源码)

    JavaWeb实训项目:基于SSM框架的CRM客户关系管理系统(附部分源码) 一.项目背景 项目演示 二.项目介绍 三.涉及技术 总结 源码地址 一.项目背景 "世上本来没有CRM,大家的生 ...

  6. 基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql)

    基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 ecl ...

  7. JAVA+SSM+MySql CRM客户关系管理系统(附带源码)

    一.前言 利用软件.硬件和网络技术,为企业建立一个客户信息收集.管理.分析和利用的信息系统.以客户数据的管理为核心,记录企业在市场营销和销售过程中和客户发生的各种交互行为,以及各类有关活动的状态,提供 ...

  8. 开源项目-CRM客户关系管理系统

    哈喽,大家好,今天给大家带来一个开源系统-CRM客户关系管理系统 主要功能包括客户管理,客户流失,销售机会,客户关怀等模块 系统开发环境以及版本 操作系统: Windows_7 集成开发工具: Ecl ...

  9. Java Web项目源代码|CRM客户关系管理系统项目实战(Struts2+Spring+Hibernate)解析+源代码+教程

    客户关系管理 (CRM) CRM一般指客户关系管理 客户关系管理是指企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售.营销和服务上的交互,从而提升其管理方式,向客户提供创新 ...

最新文章

  1. InstallShield学习笔记(2)-建立快捷方式
  2. 第三章 “我要点爆”微信小程序云开发之点爆方式页面和爆炸之音页面制作
  3. python找水仙花数_Python一句代码实现找出所有水仙花数的方法
  4. C/C++ http协议发送字段,文件,单个和多张图片
  5. python 连接 rabbitMQ以及rabbitMQssl注意事项,password
  6. 生日排序(洛谷P1104题题解,Java语言描述)
  7. c语言中逗号是什么字符,C语言中的逗号操作符
  8. 在线图片水印平铺工具
  9. 特征描述子(feature descriptor) —— HOG(方向梯度直方图)
  10. shell变量、函数和数组以及字符串的截取
  11. Java语法基础----课后实践作业
  12. 济宁与华为企业云战略合作携手推进云计算产业发展
  13. 类的数据成员的一些注意事项
  14. SQL执行效率2-执行计划
  15. emmx文件用什么软件打开电脑_电脑打开文件是用什么软件
  16. 中兴笔试c语言,中兴c语言笔试题
  17. Xshell怎样才能实现快速粘贴复制
  18. android 文字倾斜,TextView中文本倾斜
  19. 人工智能畅想ps海报教程_如何战胜鲁班人工智能做图?大战鲁班海报制作教程【PS教程】...
  20. 成功抗“疫”背后的IT科技

热门文章

  1. 云视频会议产品Boom介绍(转载)
  2. PDO连接MYSQL报错SQLSTATE[HY000] [2002] ����Ŀ�����������ܾ����޷����ӡ�
  3. linux查pcsd服务端口,Pacemaker管理工具中 pcs/pcsd 的关系
  4. 会计账户(概念,账户与科目的关系,账号的分类,功能,结构,总分类账户和明细分类账户,借贷记账法)
  5. ubuntu 找不到libGL.so.1
  6. 谭浩强c语言 读后感,读谭浩强C语言数据结构有感(1)
  7. php红包互助源码_互助盘源码php
  8. Cadence Orcad Capture 妙用Intersheet Reference页面指示图文教程
  9. Java程序设计教程(第三版) 雍俊海 7.3 答案/代码
  10. 如何积累科研经验,快速培养科研素质