(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.跳转到员工列表展示数据
/**
-
添加员工
-
@param emp
*/
@RequestMapping(“insert”)
public String insert(Emp emp){
empService.insert(emp);
return “redirect:/emp/show”;
}
(3)更新员工:
上半步 数据回显:
1.点击更新链接传递当前更新员工id到controller
2.在controller中根据id查询员工信息
3.将查询到的员工信息保存到作用域
4.跳转到更新页面展示修改员工信息
/**
-
数据回显
-
@param id
-
@return
*/
@RequestMapping(“select”)
public String selectEmpById(Integer id,Model model){
Emp emp = empService.selectEmpById(id);
model.addAttribute(“emp”,emp);
return “updateEmp”;
}
下半步:
1.获取更新之后员工信息
2.更新数据库
/**
-
修改员工
-
@param emp
*/
@RequestMapping(“update”)
public String updateEmp(Emp emp){
empService.updateEmp(emp);
return “redirect:/emp/show”;
}
(3)删除员工信息:
1.点击删除根据id去数据库中删除指定员工信息
2.删除成功之后跳转到列表页面
/**
-
删除员工
-
@param emp
*/
@RequestMapping(“delete”)
public String deleteById(Emp emp){
empService.deleteById(emp.getId());
return “redirect:/emp/show”;
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
Java面试核心知识点
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们
目录:
[外链图片转存中…(img-fkImJWCf-1712764236875)]
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
[外链图片转存中…(img-7E1KBZyD-1712764236876)]
Java面试核心知识点
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了
[外链图片转存中…(img-jAxV612M-1712764236876)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-T7xZtYMk-1712764236876)]