Bootstrap

SpringBoot+Mybatis整合jsp项目之EMS

1、项目开发流程

  1. 需求分析: 分析用户主要需求 提取出项目核心功能 根据核心功能构建页面原型

  2. 库表设计(概要设计): 1.分析整个系统有哪些表 2.分析出表之间关联关系 3.确定字段

  3. 详细设计(流程图,伪代码): 用来验证库表准确性

  4. 功能实现(编码): 环境搭建 具体功能实现

  5. 功能测试 功能测试

  6. 部署

  7. 上线 运维

  8. 维护

2.需求分析

系统中含有哪些模块?每个模块功能有哪些?

a.用户模块

登录,注册, 验证码生成

b.员工模块

查询,删除,更新,添加

3.库表设计

系统需要2张表: 用户表 user 员工表: employee

表与表之间关系: user employee 独立两张表

确定字段:

user: id 、username、password、name、sex

employee: id 、 name、salary、gender

数据库: ems-jsp

4.效果展示

  • 登录页面

  • 注册页面

在这里插入图片描述

  • 员工展示页面

  • 添加学生

  • 修改员工信息并进行数据回显

5.编码环节

  • 技术选型: springboot + mybatis + jsp + mysql

  • 环境搭建: springboot + jsp + mybatis

  • 项目名字: springBoot-EMS

  • 项目结构

  • 项目所需依赖:(直接导入就可)

org.springframework.boot

spring-boot-starter-parent

2.2.5.RELEASE

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

8.0.16

org.apache.tomcat.embed

tomcat-embed-jasper

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.1.2

com.alibaba

druid

1.1.12

javax.servlet

jstl

1.2

org.springframework.boot

spring-boot-starter-test

org.springframework.boot

spring-boot-starter-aop

  • 项目的核心配置:application.properties

#内置服务器端口设置

server.port=8080

#项目名设置

server.servlet.context-path=/ems

#配置jsp页面的前后缀

spring.mvc.view.prefix=/

spring.mvc.view.suffix=.jsp

#数据源相关配置 driverClassName url username password

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/ems?useSSL=false&serverTimezone=UTC

spring.datasource.username=root

spring.datasource.password=root

#设置mybatis的mapper文件所在路径 别名

mybatis.mapper-locations=classpath:com/tjcu/mapper/*Mapper.xml

mybatis.type-aliases-package=com.tjcu.entity

#开启jsp页面的热部署

server.servlet.jsp.init-parameters.development=true

  • SpringBoot入口

/**

  • @author 王恒杰

  • @date 2021/11/25 19:15

  • @Description:

*/

@SpringBootApplication

@MapperScan(“com.tjcu.dao”)

public class EmsApplication {

public static void main(String[] args) {

SpringApplication.run(EmsApplication.class,args);

}

}

6.用户模块功能实现

(注:只包含Controller层代码,其余代码去我gitee下载)

(1)验证码生成功能实现:

1.生成随机字符

2.放入session

3.生成图片并响应

/**

  • 用来生成验证码方法

*/

@RequestMapping(“generateImageCode”)

public void generateImageCode(HttpSession session, HttpServletResponse response) throws IOException {

//1.生成随机字符串

String code = VerifyCodeUtils.generateVerifyCode(4);

//2.保存随机字符串到Session中

session.setAttribute(“code”,code);

//3.将随机字符串生成图片

//4.通过response响应图片

response.setContentType(“image/png”);//指定响应类型

ServletOutputStream os = response.getOutputStream();

VerifyCodeUtils.outputImage(80,30,os,code);

}

(2)用户注册功能实现:

1.根据用户输入验证码比较session中验证码是否一致

2.如果一致完成注册,如果不一致直接返回错误

3.完成注册向数据库中保存当前的用户信息

a.保存信息之前判断当前用户名是否存在 如果存在直接返回错误

b.如果当前用户名不存在保存用户信息 保存用户信息给密码进行加密处理

/**

  • 注册

  • @param admin

*/

@RequestMapping(“register”)

public String register(Admin admin){

String password = MD5Utils.md5(admin.getPassword());

admin.setPassword(password);

adminService.register(admin);

return “redirect:/login.jsp”;

}

(3)用户登录功能实现:

Ending

Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下

如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)

吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

n.setPassword(password);

adminService.register(admin);

return “redirect:/login.jsp”;

}

(3)用户登录功能实现:

Ending

Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下

如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)

[外链图片转存中…(img-a9Zc3n4B-1714460466234)]

[外链图片转存中…(img-m33NP5Be-1714460466234)]

吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

;