SpringBoot的简单登陆开发例子
1:这个例子用spirngboot整合mybatis,jdbc等技术开发的
2:步骤
2.1:新建一个工程
主要的两个步骤已经贴图了,第二张图是直接在pom.xml文件中加入依赖
2.2:新建完项目,就创建一个数据表
- CREATE TABLE `tuser` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `loginname` varchar(20) DEFAULT NULL,
- `password` varchar(20) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
创建一个名为tuser的数据表
2.3:把项目所需的包和文件夹补充完整
2.4整合jdbc,在application.yml中加入jdbc的支持
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/springboot?useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
2.5整合springmvc的前端控制器,在application.yml中加入
spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
2.6整合mybatis,添加mapper.xml的目录
mybatis:
mapper-locations: classpath:mapper/*.xml
2.7整个yml文件如下
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/springboot?useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
mybatis:
mapper-locations: classpath:mapper/*.xml
2.8实体类的编写,也就是model
和数据表对应的User类
- public class User {
- private int id;
- private String loginname;
- private String password;
//省略构造方法和get/set方法
}
返回数据给页面的封装类ResultEntity
- public class ResultEntity {
- private int code;
- private String message;
- //省略构造方法和get/set方法
- }
2.9 控制层的编写,controller
- @Controller
- @SessionAttributes("user")
- public class LoginController {
- @Autowired
- private LoginService loginService;
- @RequestMapping("/index")
- public String index() {
- return "login";
- }
- @RequestMapping("/success")
- public String success() {
- return "success";
- }
- @RequestMapping("/login")
- @ResponseBody
- public ResultEntity login(User user, Model model) {
- ResultEntity resultEntity = loginService.login(user);
- if (resultEntity.getCode() == 200)
- model.addAttribute("user", user);//将user存放到session
- return resultEntity;
- }
- }
2.10Service实现层的编写
- @Service
- class LoginServiceImpl implements LoginService {
- @Autowired
- private UserMapper userMapper;
- private ResultEntity resultEntity;
- @Override
- public ResultEntity login(User user) {
- User login = userMapper.login(user);
- if (login != null) {
- resultEntity = new ResultEntity(200, "登陆成功");
- } else {
- resultEntity = new ResultEntity(201, "用户名或密码错误");
- }
- return resultEntity;
- }
- }
接口层就忽略啦 我懒。。就一个 ResultEntity login(User user);
2.11 mapper.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="net.stxy.boot.dome.mapper.UserMapper">
- <select id="login" parameterType="net.stxy.boot.dome.model.User" resultType="net.stxy.boot.dome.model.User">
- select * from tuser where loginname = #{loginname} and password = #{password}
- </select>
- </mapper>
mapper接口也不写了。。。QAQ..
2.12 到页面了,采用jsp开发,所以要在pom.xml中添加对jsp的支持
- <!--springboot tomcat jsp 支持开启-->
- <dependency>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-jasper</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- <scope>compile</scope>
- </dependency>
因为在yml中指定了前端控制器,所以直接在WEB-INF的jsp下读取jsp页面,静态资源文件就可以在路径前面添加,例如jquery文件放在static/js/jquery.min.js,读取直接读js/jquery.min.js即可,因为默认静态资源路径为/static/
2.13 登陆页面用ajax提交表单,判断返回的code是否==200,等于200则跳转登陆成功页面,否则,提示失败.
ajax代码:
- //提交表单
- $.ajax({
- url: "/login",
- type: "post",
- dataType: "json",
- data: {
- loginname: account,
- password: password
- },
- success: function (result) {
- console.log(result);
- if (result.code == 200) {
- window.location.href = "success";
- } else {
- alert(result.message);
- }
- }
- })
3.效果
3.1地址栏输入 localhost:8080/index,出现登陆页面
3.2登陆失败
3.3登陆成功
这是一个非常简单的springboot登陆例子,新手一枚,勿喷i....QAQ...
SpringBoot的简单登陆开发例子的更多相关文章
- 使用Multiplayer Networking做一个简单的多人游戏例子-1/3(Unity3D开发之二十五)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/51006463 ...
- 使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)
使用Multiplayer Networking做一个简单的多人游戏例子-1/3 使用Multiplayer Networking做一个简单的多人游戏例子-2/3 使用Multiplayer Netw ...
- 使用Multiplayer Networking做一个简单的多人游戏例子-2/3(Unity3D开发之二十六)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/51007512 ...
- 基于SpringBoot+AntDesign的快速开发平台,JeecgBoot 2.0.2 版本发布
Jeecg-Boot 是一款基于SpringBoot+代码生成器的快速开发平台! 采用前后端分离架构:SpringBoot,Ant-Design-Vue,Mybatis,Shiro,JWT. 强大的代 ...
- 在线Online表单来了!JeecgBoot 2.1 版本发布——基于SpringBoot+AntDesign的快速开发平台
项目介绍 Jeecg-Boot 是一款基于SpringBoot+代码生成器的快速开发平台! 采用前后端分离架构:SpringBoot,Ant-Design-Vue,Mybatis,Shiro,JWT. ...
- springboot核心技术(三)-----web开发
web开发 1.简介 使用SpringBoot: 1).创建SpringBoot应用,选中我们需要的模块: 2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运 ...
- 菜鸟学习Hibernate——简单的一个例子
一.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了能够使用Hibernate快速上手,我们先讲解一个简单的Hibernate应用实例hibernate ...
- 用SpringBoot搭建简单电商项目 01
前几节呢,我们已经简单介绍了SpringBoot框架的使用,从这一节开始,我们尝试着使用SpringBoot框架来一步一步搭建一个简单电商项目.当然了,这不是真正的电商项目,你可以看成是一个CRUD案 ...
- springboot 实战之一站式开发体验
都说springboot是新形势的主流框架工具,然而我的工作中并没有真正用到springboot: 都说springboot里面并没有什么新技术,不过是组合了现有的组件而已,但是自己却说不出来: 都说 ...
随机推荐
- js的介绍 及用法 常量 变量!
1.js介绍 js全程叫javascript,但不是java 他是一门前台语言 而java是后台语言. js的作者是布兰登 爱奇 前台语言:运行在客户端 后台语言:跟数据库有关的. 2.能干什么? 页 ...
- 汇编语言--微机CPU的指令系统(五)(标志位操作指令)
(2)标志位操作指令 标志位操作指令是一组对标志位置位.复位.保存和恢复等操作的指令. 1.进位CF操作指令 Ø 清进位指令CLC(Clear Carry Flag):CF←0 Ø 置进位指令STC( ...
- 理解Promise的三种姿势
译者按: 对于Promise,也许你会用了,却并不理解:也许你理解了,却只可意会不可言传.这篇博客将从3个简单的视角理解Promise,应该对你有所帮助. 原文: Three ways of unde ...
- Html5页面内使用JSON动画的实现
有一天我们的UI设计师找到我说,要把页面中我自己用程序写的动画,换成他们给的json动画,原因是有的动画很复杂,自己写起来达不到他们的预期效果(写到这里我突然想到一个问题,这么复杂的动画为什么不使用g ...
- SAP MM PO 中的Delivery Date并非保存在EKPO表里
采购订单行项目中的deliverydate并非如同其它字段值一样是保存在采购订单行项目表EKPO里的, 而是从EKET表里抓取最早的Delivery Date作为该Item的delivery date ...
- Dynamics AX 2012 性能优化之 SQL Server 复制
Dynamics AX 2012 性能优化之 SQL Server 复制 分析数据滞后 在博文 Dynamics AX 2012 在BI分析中建立数据仓库的必要性 里,Reinhard 阐述了在 AX ...
- 在centos7上编译安装nginx
题前,先放一个有图有真相的博客链接:https://www.cnblogs.com/zhang-shijie/p/5294162.html 虽然别人说的很详细,但还是记录一下 1.VMWare Wor ...
- 转载------35岁开始转变的观念(干了这碗鸡汤再写代码保证没有bug)
作为一个标准的IT男,从一开始的一线开发,做到管理层,又因为喜爱开发,跳槽继续专注coding,一干就是10多年.有时候就想,这样一直学习,coding,如果能干到老也挺不错的! 不过生活的压力是不会 ...
- Python_json数据检索与定位之jsonPath类库
json数据检索与定位之jsonPath类库 by:授客 QQ:1033553122 实践环境 win7 64 Python 3.4.0 jsonpath_ng-1.4.3-py2.py3-non ...
- Git .gitignore文件简介及使用
Git .gitignore文件简介及使用 By:授客 QQ:1033553122 .gitignore 这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中.实际项目中,很多文件都是不需要版本 ...