- 项目所需依赖:(直接导入就可)
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)用户登录功能实现:
1.根据用户输入用户名去数据库中查询是否存在改用户名
2.如果存在,判断密码是否一致 如果不存在,用户名输入错误
3.判断密码根据数据库加密密码与对接收密码进行md5加密之后比较
md5: 只要内容相同 多次计算md5 结果一定是一致
4.保存用户登录标记到Session中
/**
-
登录
-
@param admin
-
@return
*/
@RequestMapping(“login”)
public String login(Admin admin,String code, HttpServletRequest request){
//1.比较验证是否一致
String sessionCode = request.getSession().getAttribute(“code”).toString();
System.out.println(sessionCode);
System.out.println(code);
if(code.equals(sessionCode)){
String password = MD5Utils.md5(admin.getPassword());
admin.setPassword(password);
Admin admin1 = adminService.login(admin);
System.out.println(admin1);
if(admin1!=null){
request.getSession().setAttribute(“admin”,admin1);
return “redirect:/emp/show”;
}else
{
return “redirect:/login.jsp”;
}
}else {
return “redirect:/login.jsp”;
}
}
7.员工模块功能实现
(注:只包含Controller层代码,其余代码去我gitee下载)
(1)员工列表:
1.在数据库中查询所有员工信息
2.在页面中进行展示
/**
-
展示员工
-
@return
*/
@RequestMapping(“show”)
public String showEmp(Model model){
//调用业务方法
List emps = empService.showEmp();
//作用域
model.addAttribute(“emps”,emps);
return “emplist”;
}
(2)添加员工:
1.在员工controller中开发一个添加方法
2.接收员工信息
3.将员工信息保存到数据库
4.跳转到员工列表展示数据
分享
这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!
Spring Cloud实战
Spring Boot实战
面试题整理(性能优化+微服务+并发编程+开源框架+分布式)
s = empService.showEmp();
//作用域
model.addAttribute(“emps”,emps);
return “emplist”;
}
(2)添加员工:
1.在员工controller中开发一个添加方法
2.接收员工信息
3.将员工信息保存到数据库
4.跳转到员工列表展示数据
分享
这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!
[外链图片转存中…(img-XGyYreZD-1714460440475)]
Spring Cloud实战
[外链图片转存中…(img-tNnfH9Kw-1714460440476)]
Spring Boot实战
[外链图片转存中…(img-ppcOvxT0-1714460440476)]
面试题整理(性能优化+微服务+并发编程+开源框架+分布式)