【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.hqwc.cn/news/691724.html

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

相关文章

国内有哪些知名的网络安全厂商?

首先就是360&#xff0c;这个我相信大家并不陌生了吧&#xff0c;你的电脑装过360么&#xff1f; 360在个人终端服务那是妥妥的扛把子&#xff0c;但是在企业服务里虽然有他们的身影却略显不足。 第二个就是深信服&#xff0c;网络安全的老牌大佬&#xff0c;业务覆盖了全球5…

【网站项目】SpringBoot796水产养殖系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

FANUC机器人坐标系的分类和简介

1、概述 坐标系是为了确定机器人的位置和姿势而在机器人或空间上定义的位置指标系统&#xff0c;坐标系分为关节坐标系和直角坐标系&#xff0c;直角坐标系遵循右手定则&#xff0c;而关节坐标系则是以机器人每个轴所转动的角度来表示机器人当前的位置。 2、坐标系的分类及简…

Unity值类型和引用类型

我们都知道C#编程语言中&#xff0c;数据类型被分为了两种&#xff1a; 值类型引用类型 那么什么是值类型&#xff1f;什么是引用类型呢&#xff1f;它们的区别又是什么&#xff1f; 为了搞清楚这些问题&#xff0c;我们先列举一下我们开发中会碰到的值类型和引用类型。 常…

《中阿科技论坛(中英文)》是什么级别的期刊?是正规期刊吗?

问题解答 问&#xff1a;《中阿科技论坛&#xff08;中英文&#xff09;》是核心期刊吗&#xff1f; 答&#xff1a;不是&#xff0c;但是正规期刊 问&#xff1a;《中阿科技论坛&#xff08;中英文&#xff09;》是什么级别期刊&#xff1f; 答&#xff1a;省级 主管单位…

halcon学习之一维测量基础

目录 创建测量矩形&#xff0c;获取测量句柄 gen_measure_rectangle2&#xff08;&#xff09; 使用句柄进行测量 measure_pos&#xff08;&#xff09; 修改参数Threshold 修改参数Transition 修改参数select 参数RowEdge&#xff0c;ColumnEdge&#xff0c;Distance …

十四、Redis Cluster集群

Redis Cluster是Redis提供的一个分布式解决方案&#xff0c;在3.0推出。Redis Cluster可以自动将数据分片分布到不同的master节点上&#xff0c;同时提供了高可用的支持&#xff0c;当某个master节点挂了之后&#xff0c;整个集群还是可以正常工作。1、为什么要用Redis Cluster…

C#【进阶】泛型

1、泛型 文章目录 1、泛型1、泛型是什么2、泛型分类3、泛型类和接口4、泛型方法5、泛型的作用思考 泛型方法判断类型 2、泛型约束1、什么是泛型2、各泛型约束3、约束的组合使用4、多个泛型有约束思考1 泛型实现单例模式思考2 ArrayList泛型实现增删查改 1、泛型是什么 泛型实现…

如何将Git仓库中的文件打包成zip文件?

要将Git仓库中的文件打包成zip文件&#xff0c;您可以使用git archive命令。这个命令允许您将任何git可访问的树或提交导出成一个归档文件。以下是一些基本的步骤&#xff1a; 打开命令行或终端。切换到您的Git仓库的目录。执行git archive命令。 git archive --formatzip --o…

【密评】 | 商用密码应用安全性评估从业人员考核题库(9/58)

Hill密码是重要古典密码之一&#xff0c;其加密的核心思想的是&#xff08;&#xff09;。 A.线性变换 B.非线性变换 C.循环移位 D.移位 著名的Kerckhoff原则是指&#xff08;&#xff09;。 A.系统的保密性不但依赖于对加密体制或算法的保密&#xff0c;而且依赖于密钥 B.系统…

Android的视图显示和管理机制:layout view window WindowManager Canvas Surface

在Android系统中&#xff0c;Layout view window WindowManager Canvas Surface SurfaceFlinger这些组件协同工作&#xff0c;以实现图形的绘制和显示。需要搞明白这些组件是什么时候创建的以及他们之间的结构关系。 从上到下的层级关系&#xff1a;用户在View上进行操作&…

js逆向-某投资平台参数分析

声明 本文仅供学习参考&#xff0c;如有侵权可私信本人删除&#xff0c;请勿用于其他途径&#xff0c;违者后果自负&#xff01; 如果觉得文章对你有所帮助&#xff0c;可以给博主点击关注和收藏哦&#xff01; 分析 aHR0cDovLzIyMS4yMTQuOTQuNTE6ODA4MS9pY2l0eS9pcHJvL2hhb…