package com.itheima.controller;
import com.itheima.po.Admin;
import com.itheima.po.PageInfo;
import com.itheima.service.AdminService;
import com.itheima.util.MD5Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;
/**
* 用户控制器类
*/
@Controller
public class AdminController {
// 依赖注入
@Autowired
private AdminService adminService;
/**
* 用户登录
*/
/**
* 将提交数据(username,password)写入Admin对象
*/
@RequestMapping(value = "/login")
public String login( Admin admin, Model model, HttpSession session, HttpServletRequest request) {
// 通过账号和密码查询用户
admin.setA_password(MD5Util.MD5EncodeUtf8(admin.getA_password()));
Admin ad = adminService.findAdmin(admin);
if(ad!=null){
session.setAttribute("ad", ad);
return "homepage";
}
model.addAttribute("msg", "用户名或密码错误,请重新登录!");
return "login";
}
/**
* 退出登录
*/
@RequestMapping(value = "/loginOut")
public String loginOut(Admin admin, Model model, HttpSession session) {
session.invalidate();
return "login";
}
/**
* 分页查询
*/
@RequestMapping(value = "/findAdmin")
public String findAdmin(String a_username, String a_describe,Integer pageIndex,
Integer a_id ,Integer pageSize, Model model) {
PageInfo<Admin> ai = adminService.findPageInfo(a_username,a_describe,
a_id,pageIndex,pageSize);
model.addAttribute("ai",ai);
return "admin_list";
}
/**
* 导出Excel
*/
@RequestMapping(value = "/exportadminlist" , method = RequestMethod.POST)
@ResponseBody
public List<Admin> exportAdmin(){
List<Admin> admin = adminService.getAll();
return admin;
}
/**
* 添加管理员信息
*/
@RequestMapping(value = "/addAdmin" ,method = RequestMethod.POST)
@ResponseBody
public String addAdmin( @RequestBody Admin admin) {
admin.setA_password(MD5Util.MD5EncodeUtf8(admin.getA_password()));
int a = adminService.addAdmin(admin);
return "admin_list";
}
/**
* 删除管理员信息;将请求体a_id写入参数a_id
*/
@RequestMapping( "/deleteAdmin")
@ResponseBody
public String deleteAdmin(Integer a_id) {
int a = adminService.deleteAdmin(a_id);
return "admin_list";
}
/**
* 修改管理员信息
*/
/**
* 将提交数据(a_id,a_username...)写入Admin对象
*/
@RequestMapping( value = "/updateAdmin", method = RequestMethod.POST)
public String updateAdmin(Admin admin) {
admin.setA_password(MD5Util.MD5EncodeUtf8(admin.getA_password()));
int a = adminService.updateAdmin(admin);
return "redirect:/findAdmin";
}
/**
* 根据管理员Id搜索;将请求数据a_id写入参数a_id
*/
@RequestMapping( "/findAdminById")
public String findAdminById( Integer a_id,HttpSession session) {
Admin a= adminService.findAdminById(a_id);
session.setAttribute("a",a);
return "admin_edit";
}
}
毕业设计-基于JavaScript与SSMLayui框架的学生宿舍管理系统实现
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在本毕业设计项目中,我们关注的是一个基于JavaScript和SSM(Spring、SpringMVC、MyBatis)以及Layui框架构建的学生宿舍管理系统。这个系统旨在提高对学生宿舍的管理效率,提供便捷的信息录入、查询、修改和删除等功能。下面我们将深入探讨该项目涉及的技术和知识点。 JavaScript作为主要的前端开发语言,是实现用户交互和动态更新页面的关键。它运行在浏览器环境中,负责处理用户的输入、更新DOM(Document Object Model)并进行数据的异步通信。在本项目中,JavaScript可能被用于处理表单验证、动态加载数据、以及通过Ajax进行前后端数据交互。 ECMAScript,通常被称为ES,是JavaScript的标准化规范。了解最新的ECMAScript特性(如ES6/7/8/9/10)对于编写高效、可维护的代码至关重要。例如,项目可能使用了箭头函数、模板字符串、Promise、async/await等现代语法,以提升代码的简洁性和可读性。 SSM框架是Java后端开发的常用组合,由Spring、SpringMVC和MyBatis构成。Spring作为一个全面的框架,提供了依赖注入、AOP(面向切面编程)、事务管理等功能。SpringMVC则负责处理HTTP请求,协调控制器、视图和模型。MyBatis则是一个持久层框架,简化了数据库操作,允许开发者用Java代码来编写SQL语句。 Layui是一个轻量级的前端组件库,它提供了丰富的UI组件,如表格、表单、按钮、提示、弹窗等,用于快速构建美观的管理界面。Layui强调扁平化设计,其组件易于使用,且兼容各种浏览器,大大提高了开发效率。 在这个项目中,前端与后端的交互可能通过RESTful API实现。前端发送HTTP请求到后端,后端处理请求后返回JSON数据。这种设计遵循了前后端分离的原则,使两者可以独立开发和测试。 数据库设计是系统的重要组成部分,可能涉及到学生信息、宿舍信息、管理员信息等多个实体表的设计,以及它们之间的关系。合理的数据建模能够优化查询性能,确保数据的一致性和完整性。 除此之外,安全性也是系统不可忽视的部分。比如,需要对用户输入进行验证,防止SQL注入;使用HTTPS协议保证数据传输的安全;设置合适的权限控制,防止未授权访问。 系统的部署和测试同样重要。开发完成后,需要将项目部署到服务器,并进行压力测试、功能测试和性能测试,确保系统在实际环境中稳定运行。 这个毕业设计涵盖了前端开发、后端开发、数据库设计、API接口设计、安全策略和项目部署等多个方面,是一个综合性的实战项目,对于提升开发者全栈技能有着积极的锻炼作用。
- 1
- 2
- 3
- 4
- 5
- 6
- 8
- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- 粉丝: 85
- 资源: 1134
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 安卓项目源码Android手机防火墙源码(DroidWall)
- 双buck电路并联(VDCM控制+下垂控制) 变器并联控制方案中,下垂控制是一种经典的控制策略,但下垂控制因缺少传统电机的阻尼和旋转惯量以及励磁暂态特性,因此在负载功率变化时,输出电压更容易受到影响
- 数据科学的笔记以及资料收集.zip
- unidac-10.3.0-src.zip
- 安卓项目源码Android调用C++代码和C++代码调用源码
- 机械设计自带动力索道车sw18可编辑非常好的设计图纸100%好用.zip
- 非线性磁链观测器+PLL(源码+参考文献+仿真模型) ①源码:VESC的无感非线性观测器代码,并做了简单的调试,可以做到0速启动 代码注释非常详细,快速入门 ②参考文献(英文+翻译):为VESC非
- 数据采集平台zdh,etl处理服务.zip
- 数据集,包括原始数据集、自助数据集、存储过程数据集、JSON数据集、脚本数据集、HTTP数据集、JS数据集.zip
- 安卓项目源码Android网络监视器源码
- 发动机激励噪声仿真 使用软件为hyperworks motionview 技术路线:提取载荷等效轴心载荷,并加载加速工况下的频域激励,识别车内噪声
- 文本匹配相关模型DSSM,ESIM,ABCNN,BIMPM等,数据集为LCQMC官方数据.zip
- 基于线性预测共振峰检测和基音参数的语音合成实验MATLAB代码
- 微环谐振腔的光学频率梳matlab仿真 微腔光频梳仿真 包括求解LLE方程(Lugiato-Lefever equation)实现微环中的光频梳,同时考虑了色散,克尔非线性,外部泵浦等因素,具有可延展
- 安卓项目源码Android网页浏览器源码
- 文档分类概要01234.zip