package cn.smbms.controller.user;
import javax.annotation.Resource;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import cn.smbms.pojo.Role;
import cn.smbms.pojo.User;
import cn.smbms.service.role.RoleService1;
import cn.smbms.service.user.UserService1;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mysql.jdbc.StringUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.math.RandomUtils;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import static cn.smbms.tools.Constants.USER_SESSION;
@Controller
@RequestMapping("/user")
/*@Target({ElementType.METHOD})// 可用在方法名上
@Retention(RetentionPolicy.RUNTIME)// 运行时有效*/
public class UserController extends HttpServlet {
private Logger logger=Logger.getLogger(UserController.class);
@Resource
private UserService1 userService;
@Resource
private RoleService1 roleSerivece;
/**
* 跳转到登录页面
*/
@RequestMapping(value = "/login.html")
public String login(){
return "login";
}
/**
* 实现登录
*/
@RequestMapping(value = "/dologin.html",method = RequestMethod.POST)
public String doLogin(@RequestParam String userCode
, @RequestParam String userPassword
, HttpSession session, HttpServletRequest request) throws Exception {
//调用service方法,进行用户匹配
User user= userService.login(userCode,userPassword);//匹配账号
if(null != user){
//匹配密码
if(!user.getUserPassword().equals(userPassword))
{
request.setAttribute("error","密码不正确!");
return "login";
}
//页面跳转(frame.jsp)
session.setAttribute(USER_SESSION,user);//放入session第二种方式
return "redirect:/user/main.html";//重定向
}else{
//页面跳转带出提示信息
request.setAttribute("error","用户名不正确!");
return "login";
/*throw new RuntimeException("用户名或密码不正确!");*/
}
}
//判断session是否为空
@RequestMapping(value = "/main.html")
public String main(HttpSession session){
if(null == session.getAttribute("userSession")){
return "redirect:/user/login.html";
}
return "frame";
}
/**
* 注销
*/
@RequestMapping("/closelogin")
public String closeLogin(HttpSession session){
session.removeAttribute("userSession");
return "redirect:/user/login.html";
}
/**
* 查询用户列表
*/
@RequestMapping("/userlist.html")
public String getUserList(Model model,
@RequestParam (value = "queryname",required = false) String queryUserName,
@RequestParam (value = "queryUserRole",required = false) String queryUserRole,
@RequestParam (value = "pageIndex",required = false,defaultValue = "1")String pageIndex) throws Exception {
int _queryUserRole = 0;
List<User> userList=null;
if(queryUserName == null){
queryUserName="";
}
if(queryUserRole !=null && !queryUserRole.equals("")){
_queryUserRole = Integer.parseInt(queryUserRole);
}
//获得分页对象 参数:页数+每页的大小
PageHelper.startPage(Integer.parseInt(pageIndex),5);
//获得查询的所有供应商数据
userList = userService.getUserList(queryUserName,_queryUserRole);
//获得PageInfo对象
PageInfo<User> pageInfo = new PageInfo<User>(userList);
//总共多少页
model.addAttribute("totalCount",pageInfo.getPages());
//获得总记录数
model.addAttribute("totalPageCount",pageInfo.getTotal());
//第几页
model.addAttribute("pageIndex",pageInfo.getPageNum());
model.addAttribute("userList", userList);
List<Role> roleList=null;
roleList=roleSerivece.getRoleList();
model.addAttribute("roleList", roleList);
model.addAttribute("queryUserName", queryUserName);
model.addAttribute("queryUserRole", queryUserRole);
return "userlist";
}
//处理sysError方法
@RequestMapping("syserror.html")
public String sysError(){
return "syserror";
}
/**
*跳转增加用户页面
*/
@RequestMapping(value = "/useradd.html",method = RequestMethod.GET)
public String addUser(){
return "useradd";
}
/**
* 新增保存用户
*/
@RequestMapping(value = "/addsave.html",method = RequestMethod.POST)
public String addUserSave(User user, HttpSession session,
HttpServletRequest request,
@RequestParam (value = "a_idPicPath",required = false)MultipartFile attach) throws Exception {
String idPicPath=null;
//判断文件是否是空
if(!attach.isEmpty()){
String path=request.getSession().getServletContext().getRealPath("statics"+ File.separator+"uploadfiles");
String odlFileName=attach.getOriginalFilename();//原文件名
String prefix= FilenameUtils.getExtension(odlFileName);//原文件后缀
int filesize=500000;
if(attach.getSize()>filesize){//上传大小不得超过500k
request.setAttribute("uploadFileError"," * 上传文件大小不得超过500KB");
return "useradd";
}else if(prefix.equalsIgnoreCase("jpg")
||prefix.equalsIgnoreCase("png")
||prefix.equalsIgnoreCase("jpeg")
||prefix.equalsIgnoreCase("pneg")){//判断上传图片格式正确
String fileName=System.currentTimeMillis()+ RandomUtils.nextInt(1000000)+"_Personal.jpg";
File targetFile=new File(path,fileName);
if(!targetFile.exists()){
targetFile.mkdirs();
}
//保存
try {
attach.transferTo(targetFile);
}catch (Exception e){
e.printStackTrace();
request.setAttribute("uploadFileError"," * 上传失败!");
return "useradd";
}
idPicPath=path+File.separator+fileName;
}else{
request.setAttribute("uploadFileError"," * 上传图片格式不正确");
return "useradd";
}
}
user.setCreatedBy(((User)session.getAttribute(USER_SESSION)).getId());
user.setCreationDate(new Date());
user.setIdPicPath(idPicPath);
if(userService.add(user)){
return "redirect:/user/userlist.html";
}
return "useradd";
}
/**
* 用户验证
*/
@RequestMapping(value = "/ucexist.html",method = RequestMethod.GET)
@ResponseBody
public Object userCodeIsExit(@RequestParam String userCode) throws Exception {
HashMap<String, String> resultMap = new HashMap<String, String>();
if(StringUtils.isNullOrEmpty(userCode)){
resultMap.put("userCode","exist");
}else{
User user =userService.selectUserCodeExist(userCode);
if(null!=user) {
resultMap.put("userCode","exist");
} else {
resultMap.put("userCode","noexist");
}
}
return resultMap;
}
/**
* 加载绑定用户角色
*/
@RequestMapping(value = "userrole",method = RequestMethod.GET,produces="application/json;charset=UTF-8")
@ResponseBody
public Object getUserRole() throws Exception {
List<Role> roleList= roleSerivece.getRoleList();
return roleList;
}
/**
* 跳转修改用户页面
*/
@RequestMapping(value = "/usermodify.html",method = RequestMethod.GET)
public String getUserById(@RequestParam String uid,Model model) throws Exception {
int uid1=Integer.parseInt(uid);
User user = userService.getUserById(uid1);
model.addAttribute(user);
return "usermodify";
}
/**
* 保存修改用户信息
*/
@RequestMapping(value = "/usermodifysave.html",method = RequestMethod.POST)
public String modifyUserSave(User user,HttpSession session) throws Exception {
user.setModifyBy(((User)session.getAttribute(USER_SESSION)).getId());
user.setModifyDate(new Date());
if(userServic
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Spring Boot和JSP的超市管理系统可以提供一个完整的超市商品信息管理解决方案。该系统可以帮助超市管理者有效地管理商品库存、销售记录、供应商信息等。以下是该系统的一些主要功能和特点: 1. 用户管理:支持管理员和员工账号的创建和管理,管理员可以分配不同的权限给员工账号。 2. 商品管理:管理员可以添加、编辑和删除商品信息,包括商品名称、价格、库存等。管理员还可以设置商品分类、供应商信息等。 3. 库存管理:超市员工可以对商品库存进行实时管理,包括进货、出货、库存调整等操作。系统会自动更新库存数量,并提供库存报警功能。 4. 销售管理:系统可以记录每笔销售订单,包括销售日期、销售员工、销售金额等信息。管理员可以查看销售报表,分析销售趋势和业绩情况。 5. 供应商管理:管理员可以管理超市的供应商信息,包括联系方式、供应商品类别、合作情况等。系统可以生成供应商报表,方便管理者进行供应商评估和合作管理。 6. 统计分析:系统可以生成各种统计报表,包括销售额统计、商品销售排行、库存统计等。管理员可以根据报表分析超市的经营情况,并做出相应的调整和决策。 7. 用户界面:系
资源推荐
资源详情
资源评论
收起资源包目录
Java实战项目-基于springboot和jsp的超市管理系统 (源码+数据库) (406个子文件)
00302cd3d50af71fa14e38dfe0c36ca225718a 371B
0338298e01c599f84f78b8fa269a268073fd89 74B
03f197c84ee5c9ce6d6a79c76c29ce66733f75 413B
03f20fb1197edf0433ff99759cb6399d0f99f9 2KB
06bc9103c7f440c20849321039d45d78974909 74B
0729557b67ad0a27fca5907ecd991d848a43fe 82B
09e0ba6ab39daea916049f8c2e259a78ef6e74 1KB
0af63c141ea23ea5848aeaee0d30b63eb5cb26 9KB
0d451ccd6fc835996c9fe4eebf8a571154f515 97B
0d6012de6ee3461fbb6f3649e0e8da75c7552e 4KB
131539a10e2f659b04601d620773b59bf0fda1 920B
1491b4d81d3986f742e38597b39cd354d75945 92B
153dcd63d1a9fc201c3f8d102b155b4b8ad18b 639B
15f0fdb052afd5d784579d4ca425616c1e5f4d 4KB
1b2dea3ae4c95a0d8dc6d4664a1d07929a6899 196B
1b8d60a0df61fa06edd77b74667f1cf70df97b 46B
1cf9ee076f0e00a49788fca7a1c3ba8f43e08e 565B
1dfeb451bc9b7f6e5564f52d15ce7d265f4dbe 1KB
1ee346d0c7e8d223c311a2aa0069d543aeb566 64B
1f1e0e775dd1273c4a67d8218c9badf0b761b8 84B
1f548a6c054d43b5461264a67e06fe52931a71 1KB
20f30760973f3dd8904c5e349318215b0b0acd 879B
2171539311cc8e51a05b40ccc3ecf109cd0204 74B
219174e7e1715f0c59500ad5e67ff9d37a4abc 6KB
21d314fd355c903c3c88b46e0706699fa7107d 150B
24cc1eb33ff295ee2092345e3f42f4cd59cd20 91B
27afa83880045fcf16bf7b6a19c84388cce91e 200B
29f2221a792a6d36978dd5611e8f9aa46ab999 2KB
2a142131cbc1e5559c0a90c5d163e4f52e83cd 156B
2b7830bbb73481a20fbe8c4a7a90fe0042a91f 2KB
2c76a7edf3d4d4bfa7d85fe92c9bfa017a6af2 20KB
2d9b3ee5b234441916d611fcaacf288815f0a0 4KB
2e0eecd627fde8f5222b52967a51d4f6ddabd7 429B
3205d8201a3a59fb9870c6a4743fc3efd305fa 1KB
345e4041596377328e1cba86f24a6208ec24c2 1KB
34d2e7979ef1b12b28ea788559258b6577041d 4KB
359f731712a88b2c66d99c1f7cebb05db20d96 63B
35ad8db18826e9d5061f374bd17fa2ad5bd679 9KB
3821e96925cee7813ee283c988a9f8af6792cd 2KB
383979a542885ef0ead1c9cdcdcaec2330523e 41KB
39cd705d3b6dc9bf49c12930b22b690b7be33d 63B
3aa8e6b20a1cea846c41a4675c5de95b790d89 819B
3c73b7034922e7584123a9a0f15ec9ba51a28e 1021B
3fc3b8715265dcb1d8de3dbedc5825e8ff752e 232B
41bf7834aa09f0fd8a95e204f4265af2624407 107B
426f5d8eb9bf5317994716f01f3afbe8e9d5cf 1KB
447b574ebd6177efee3f662dd8ccd9a6d7f9b8 141B
449b9dc35a36ec1b96863e5c1b9555f66706be 53B
46657ae620acff80ce1b001638e222c57a45f3 134B
46e37a85df86f9be304795a8868673dd56511c 160B
48e758e97e259bafa5ea99f8f1288c1e19a62d 218B
49c27c6c5a676aeccd34b896359337b5280d40 294B
4b61566f1b1b6362a5e2b96809895718cd889a 145B
4be6f4838daab77f2d64a9f96a3bfc59ac95da 177B
4c350959449c48818b0ee4b9e424a9a0cdcd17 2KB
4db29ea4a03c15f6f07bb39e82404729b9eec7 121B
4eb29a11caff37b6f67992367717c4c82ed6e7 98B
4f1d6d898a01cfe0dad6d3aee0ad2afc7b089c 5KB
50641868d9e58e5c2172dfac9b94e6ff3cba10 45B
516a6380f3a18d246e090d47999698e4193d6c 211B
51d6219930f894f48c03a305ddfef4fedd71e8 720B
526b4d7201a065e9d70a781db9762f0d380d59 2KB
539a9e4c6b9fce3e4f1c2b271e5a7bd596d2a7 478B
549b2cd636724b993f18149500e3cace1834a9 340B
56769c268c7dc705fcbce2e17ebd797f17ea22 3KB
5756f358f8c57eb69a55536a38c3f3b9188e50 412B
57cd5760d3df994e1a4b89a720ed8cd4ba8abb 868B
581b4d160acf52297c42b35199e85a3b0c7db6 196B
581ec510506c76fe74d3d245dea182d86f51a4 4KB
58270f616c50ed8bb485f9e9809eb50012532a 44B
5988545a9f397ae5d60e7ed4a83f0f2805bbb4 363B
5bf424bd34f7ca38da04bcf38b1f17fa6d639e 64B
5c7e1654f74f51d75c3f76616a7636164c0ed4 460B
5d8c464f9798b918db48c433eafcba9d421336 852B
5db58851ff7066f05ad3874110cfd6d0488a6c 5KB
5dd0e232899213386181dac467ac7ec2b9ce21 111B
60fe7d7da334a78864a1eb48215ac6ae3c60a3 472B
6281915fef700dac4601bb5f2f5ad56aab1c0c 233B
62bb705c3f11431f6613230adae7b554f820d4 318B
6349b3cd4804db423312a661d7002e2342b018 47B
6563679f922b521b281cfa9c2e5dea62dc0d94 549B
65b52a4dd955d209931eceda3aac7a7a047020 5KB
689b0834bb0548beda7010cd93f6b56147ca47 778B
690a1c96e06f5f57318ac361ed7a7dcb439555 294B
6b27d92c539a20b58a13295c3b79c27a750468 49B
6e916437f90f234912ab682eafe558a4edfb9d 647B
70380b0b977acee321680604333435cccff42b 111B
71e6ce17bbfb6e5f9b1c58510ca24d05ce1cc4 222B
747b325d2daf43a1f4ad9a43382d33708ca24c 64B
784a045d3308935a0e92d58a3cef18e6251555 3KB
7b1269eea1bcd75d2b56e29ad7dfd8828f3352 274B
7c281fb29f53db33dabb1420e46fcb8a3a0f89 134B
7d741113067fe153b2e38f1e4062caf0fea51a 888B
80ce0466ef0a868966fe0b7328d4651bd6c4b5 96B
8206d95c485207b06d7b68d1f14286d130af3a 47B
8211281536d7b86d9243c506e04af0c9a4bf46 2KB
823b9f78e5f72c24456f7c2e3b6c8d988e1f8c 44B
82a8ddaeae2ae8c1efd5df8073efc0e296dc03 268B
837795279c5eb281e98ce6017998b993026518 38KB
87b05e229fe80cdc5974f67c2539daabb53f02 624B
共 406 条
- 1
- 2
- 3
- 4
- 5
资源评论
- a17236765792024-02-26资源很好用,有较大的参考价值,资源不错,支持一下。
荒野大飞
- 粉丝: 9637
- 资源: 604
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Mycat从入门到精通之Mycat架构+Catlet分析.pptx
- 多肉植物图鉴-html-网页设计
- STM32驱动库大全:STD库与HAL库的比较与应用
- NX二次开发UF-CURVE-create-arc-tangent-point-point 函数介绍
- Mycat从入门到精通之Mycat项目开发、编译与运行.pptx
- 基于MATLAB的GMSK仿真分析-移动通信系统三级项目报告
- Mycat从入门到精通之MycatEye.pptx
- Mycat从入门到精通之性能优化.pptx
- NX二次开发UF-CURVE-create-arc-point-center 函数介绍
- 利用傅里叶变换对谐波进行分析 MATLAB程序
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功