【WEEK11】 【DAY6】员工管理系统第七部分【中文版】

2024.5.11 Saturday
接上文【WEEK11】 【DAY5】员工管理系统第六部分【中文版】

目录

  • 10.8.删除及404处理
    • 10.8.1.修改list.html
    • 10.8.2.修改EmployeeController.java
    • 10.8.3.重启
    • 10.8.4. 404页面处理
      • 10.8.4.1.把404.html文件移入
      • 10.8.4.2.重启并运行
    • 10.8.5.退出登录状态
      • 10.8.5.1.修改commons.html
      • 10.8.5.2.修改LoginController.java
      • 10.8.5.3.重启
  • 10.9.总结
    • 10.9.1.如何写一个网站
    • 10.9.2.模板

10.8.删除及404处理

10.8.1.修改list.html

在这里插入图片描述

<a class="btn btn-sm btn-danger" th:href="@{/delemp/{id}(id=${emp.getId})}">删除</a><!--@{/delemp/}+${emp.getId()}这样写亦可-->

10.8.2.修改EmployeeController.java

package com.P14.controller;import com.P14.dao.DepartmentDao;
import com.P14.dao.EmployeeDao;
import com.P14.pojo.Department;
import com.P14.pojo.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;import java.util.Collection;@Controller
public class EmployeeController {//查询所有员工@AutowiredEmployeeDao employeeDao;@Autowired  //自动注入DepartmentDao departmentDao;@RequestMapping("/emps")    //只要dashboard.html请求了th:href="@{emps}(line89)则跳转到运行@RequestMapping("/emps")public String list(Model model){    //然后会查询所有员工,此时再修改:如何显示到前端页面Collection<Employee> employees = employeeDao.getAll();model.addAttribute("emps",employees);return "emp/list";}@GetMapping("/emp") //get请求获取跳转public String toAddpage(Model model){//查出所有部门的信息Collection<Department> departments = departmentDao.getDepartment();model.addAttribute("departments",departments);return "emp/add";}@PostMapping("/emp")public String addEmp(Employee employee){//添加的操作 forwardSystem.out.println("save=>"+employee);employeeDao.save(employee); //调用底层业务方法保存员工信息return "redirect:/emps";    //在“添加员工”页面点击“添加”后重定向到“员工管理”页面}//去员工的修改页面->应该能查出原来的数据@GetMapping("/emp/{id}")public String toUpdateEmp(@PathVariable("id") Integer id,Model model){Employee employee = employeeDao.getEmployeeById(id);model.addAttribute("emp",employee);//查出所有部门的信息Collection<Department> departments = departmentDao.getDepartment();model.addAttribute("departments",departments);return "emp/update";}@PostMapping("/updateEmp")public String updateEmp(Employee employee){employeeDao.save(employee);return "redirect:/emps";}//删除员工@GetMapping("/delemp/{id}")public String deleteEmp(@PathVariable("id") int id){employeeDao.delete(id);return "redirect:/emps";}}

10.8.3.重启

在这里插入图片描述
在这里插入图片描述

10.8.4. 404页面处理

新建error文件夹

10.8.4.1.把404.html文件移入

在这里插入图片描述
防止页面样式丢失,添加两个/
在这里插入图片描述

10.8.4.2.重启并运行

任意输入一个没有对应页面的url
在这里插入图片描述

如果没有将404.html放入error文件夹,则报错页面为浏览器的默认设置样式:
在这里插入图片描述

10.8.5.退出登录状态

10.8.5.1.修改commons.html

在这里插入图片描述

<a class="nav-link" th:href="@{/user/logout}">Sign out退出登录</a>

10.8.5.2.修改LoginController.java

package com.P14.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.thymeleaf.util.StringUtils;import javax.servlet.http.HttpSession;@Controller
public class LoginController {@RequestMapping("/user/login")public String logi(@RequestParam("username") String username,@RequestParam("password") String password,Model model,HttpSession session){//具体的业务if (!StringUtils.isEmpty(username) && "123456".equals(password)){session.setAttribute("loginUser",username);//登录成功,重定向到/main(在MyMvcConfig中已经设置成定向到dashboard.html)页面return "redirect:/main.html";}else {//提示登陆失败了model.addAttribute("msg","用户名或密码错误");return "index";}}//退出@RequestMapping("/user/logout")public String logout(HttpSession session){session.invalidate();return "redirect:/index.html";}
}

10.8.5.3.重启

在这里插入图片描述

  • 登录后不退出->即使回到登录页->再次输入想要访问的url可以直接访问
    在这里插入图片描述
    回到登录页:
    在这里插入图片描述
    此时可以直接输入目标url进行访问:
    如:http://localhost:8080/emps
    在这里插入图片描述

如:http://localhost:8080/main.html
在这里插入图片描述

  • 登录后退出->回到登录页->必须重新登录才可以访问目标url
    在这里插入图片描述
    回到登录页:
    在这里插入图片描述
    此时想要通过修改url访问main.html失败,说明用户退出成功。
    在这里插入图片描述

10.9.总结

10.9.1.如何写一个网站

10.9.1.1.前端搞定:页面长什么样子layui
10.9.1.2.设计数据库(数据库设计难点)
10.9.1.3.前端让他能够自动运行,独立化工程
10.9.1.4.数据接口如何对接:json,对象,all in one!
10.9.1.5.前后端联调测试

10.9.2.模板

10.9.3.有一套自己熟悉的后台模板:工作必要!推荐使用:x-admin
10.9.4.前端页面:至少自己能够通过前端框架,组合出来一个网站页面

  • index
  • about
  • blog
  • post
  • user

10.9.5.让这个网站能够独立运行!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

紫光计算机项目卓越中心负责人孙宇受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 紫光计算机科技有限公司信息技术中心项目总监&卓越中心负责人孙宇先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“PMO卓越中心核心能力拆解与落地-用创新绘制新蓝图”。大会将于6月29-30日在北京举办&#xff0c…

Mistoline: 超高质量控线的Controlnet【附加代码演示】

MistoLine 是 SDXL-ControlNet 模型&#xff0c;可适应任何类型的线条图输入&#xff0c;具有高精确度和出色的稳定性。它可以根据用户提供的各种类型的线稿&#xff08;包括手绘草图、不同的 ControlNet 线稿预处理器和模型生成的轮廓&#xff09;生成高质量图像&#xff08;短…

web入门——导航栏

本专栏内容代码来自《响应式web&#xff08;HTML5CSS3Bootstrap&#xff09;》教材。 导航栏 实现代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&…

【harbor】harbor的搭建与使用

harbor的搭建与使用 文章目录 harbor的搭建与使用1. harbor的下载2. 创建ssl证书3.harbor的配置3. docker修改4.启动harbor5.使用docker总结 1. harbor的下载 harbor仓库地址&#xff1a;https://github.com/goharbor/harbor harbor主要是go语言写的&#xff0c;但是我们dock…

金三银四面试题(二十七):适配器模式知多少?

什么是适配器模式 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将一个类的接口转换为客户期望的另一个接口。通过适配器&#xff0c;原本不兼容的接口可以一起工作&#xff0c;从而提高系统的灵活性和可扩展性。 关键元素&…

java中EQ、NE、GE、GT、LE、LT

关系运算符 包括EQ、NE、GE、GT、LE、LT几个&#xff0c;关系运算符返回的是真“True”或假“False”。 eq&#xff08;Equal to&#xff09; 等 运算符 &#xff0c;如果运算符两边相同则返回真&#xff0c;否则返回假&#xff1b; ne&#xff08;Not Equal to&#xff09; 不…

Linux/Brainfuck

Brainfuck Enumeration Nmap 扫描发现对外开放了 22&#xff0c;25&#xff0c;110&#xff0c;143&#xff0c;443 五个端口&#xff0c;使用 nmap 扫描端口详细信息 ┌──(kali㉿kali)-[~/vegetable/HTB/Insane] └─$ nmap -sC -sV -p 22,25,110,143,443 -oA nmap 10.10…

避坑指南!RK3588香橙派yolov5生成RKNN模型!

地址1&#xff0c;转换模型 地址2&#xff0c;转换模型 地址3&#xff0c;解决ppa 下载k2 本文目录 一、将.pt模型转为onnx模型文件。&#xff08;Windows&#xff09;二、将.onnx模型转为.rknn模型文件。&#xff08;Linux&#xff09;三、将.rknn模型部署到开发板RK3588中…

MyCat实现分库分表

两个集群 两个库 两个表 搭建数据库服务使用docker启动两个mysql 3506 3507连接MyCat创建两个数据源连接MyCat创建集群 mycat创建逻辑库MyCat创建全局表广播表创建分片表mycat逻辑库MyCat插入数据mycat查看数据物理库3506查看数据物理库3507查看数据 ER表创建ER表mycat插入数据…

射频识别技术RFID

射频识别技术RFID RFID介绍 射频识别&#xff1a; 英文名称是(Radio Frequency Identification)&#xff0c; 简称是“ RFID” 又称 无线射频识别&#xff0c; RFID是物联网的其中一种终端技术。 RFID是一种通信技术&#xff0c; 可通过无线电讯号耦合识别特定目标并读写相关…

Python使用Rembg库去除图片背景

一、引入Rembg库 #库地址 https://github.com/danielgatis/rembg#CPU使用 pip install rembg # for library pip install rembg[cli] # for library cli#GPU使用&#xff08;系统支持onnxruntime-gpu&#xff09; pip install rembg[gpu] # for library pip install rembg[gp…

基于ChatGLM+Langchain离线搭建本地知识库(免费)

目录 简介 服务部署 实现本地知识库 测试 番外 简介 ChatGLM-6B是清华大学发布的一个开源的中英双语对话机器人。基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&#xff08;INT…

深入理解 Kolmogorov–Arnold Networks (KAN)

深入理解 Kolmogorov–Arnold Networks (KAN) 最近&#xff0c;一篇名为 KAN: Kolmogorov–Arnold Network 的论文在机器学习领域引起了广泛关注。这篇论文提出了一种全新的神经网络视角&#xff0c;并提出了一种可以替代现有多层感知器&#xff08;MLP&#xff09;的新方案。要…

19 分页:快速地址转换(TLB)

通过上一节中的知识&#xff0c;可以知道使用分页作为核心机制来实现虚拟内存是比较不错的&#xff0c;但是因为复杂的查询和转换逻辑&#xff0c;导致性能开销比较大。这里就要使用硬件来提升了&#xff0c;便出现了地址转换旁路缓冲存储器&#xff08;TLB&#xff09;&#x…

中职智慧校园建设内容规划

1. 渠道先行 1) IT根底设施渠道是支撑智慧学校使用体系所必需的运转环境&#xff0c;是首要需求建造的内容&#xff0c;但是要遵从有用准则&#xff0c;IT设备开展很快&#xff0c;更新很快&#xff0c;不要片面追求全而新&#xff1b; 2) 使用根底渠道是支撑智慧学校使用体系作…

动态多目标优化算法:基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解DCP1-DCP9(提供MATLAB代码)

一、动态多目标优化问题 1.1问题定义 1.2 动态支配关系定义 二、 基于自适应启动策略的混合交叉动态多目标优化算法 基于自适应启动策略的混合交叉动态多目标优化算法&#xff08;Mixture Crossover Dynamic Constrained Multi-objective Evolutionary Algorithm Based on Se…

Git系列:git tag 使用技巧

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

机器学习:葡萄酒品质预测

说明&#xff0c;此项目是我的期末大作业&#xff0c;包括了对数据集探索&#xff0c;预处理以及分类的各个详细过程与描述&#xff0c;代码简单&#xff0c;主要是一个分类项目的流程&#xff0c;并没有对模型进行深度研究&#xff0c;因此我写在这里。 目录 一、问题介绍 …

分层存储无法拯救 Kafka

01 引言 Apache Kafka 自诞生之日起&#xff0c;就以其卓越的设计和强大的功能&#xff0c;成为了流处理领域的标杆。它不仅定义了现代流处理架构&#xff0c;更以其独特的分布式日志抽象&#xff0c;为实时数据流的处理和分析提供了前所未有的能力。Kafka 的成功&#xff0…