Java项目:嘟嘟校园一卡通系统(java+JSP+Servlet+html+css+JavaScript+JQuery+Ajax+mysql)
2022/1/3 19:12:36
本文主要是介绍Java项目:嘟嘟校园一卡通系统(java+JSP+Servlet+html+css+JavaScript+JQuery+Ajax+mysql),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、项目简述(+需求文档+PPT)
功能:卡管理,卡消费,卡充值,图书借阅,消费,记录,注销等等功能。
二、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP + Servlet + html+ css + JavaScript + JQuery + Ajax 等等
用户管理操作控制层:/**
-
用户管理操作
*/
@Controller
@RequestMapping("/user")
public class UserController {@Autowired
private UserService userService;/**
- 用户添加页面
- @return
*/
@GetMapping("/add")
public String create() {
return “user/add”;
}
/**
- 用户添加操作
- @param user
- @return
*/
@PostMapping("/add")
@ResponseBody
public Map<String, Object> add(@RequestBody User user) {
if(StringUtils.isEmpty(user.getUserName())){
return MapControl.getInstance().error(“请填写用户名”).getMap();
}
if(StringUtils.isEmpty(user.getName())){
return MapControl.getInstance().error(“请填写名称”).getMap();
}
if(StringUtils.isEmpty(user.getUserPwd())){
return MapControl.getInstance().error(“请填写密码”).getMap();
}
int result = userService.create(user);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
/**
- 根据id删除
- @param id
- @return
*/
@PostMapping("/delete/{id}")
@ResponseBody
public Map<String, Object> delete(@PathVariable(“id”) Integer id) {
int result = userService.delete(id);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//批量删除
@PostMapping("/delete")
@ResponseBody
public Map<String, Object> delete(String ids) {
int result = userService.delete(ids);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}/**
- 编辑用户信息操作
- @param user
- @return
*/
@PostMapping("/edit")
@ResponseBody
public Map<String, Object> edit(@RequestBody User user) {
if(StringUtils.isEmpty(user.getUserName())){
return MapControl.getInstance().error(“请填写用户名”).getMap();
}
if(StringUtils.isEmpty(user.getName())){
return MapControl.getInstance().error(“请填写名称”).getMap();
}
if(StringUtils.isEmpty(user.getUserPwd())){
return MapControl.getInstance().error(“请填写密码”).getMap();
}
int result = userService.update(user);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
/**
- 根据id查询,跳转修改页面
- @param id
- @param modelMap
- @return
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable(“id”) Integer id, ModelMap modelMap) {
User user = userService.detail(id);
modelMap.addAttribute(“user”, user);
return “user/edit”;
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(@RequestBody User user) {
List list = userService.query(user);
Integer count = userService.count(user);
return MapControl.getInstance().success().page(list, count).getMap();
}//跳转列表页面
@GetMapping("/list")
public String list() {
return “user/list”;
}
}
登录控制层:@Controller
public class LoginController {
@Autowired private UserService userService; @Autowired private TeacherService teacherService; @Autowired private StudentService studentService; //跳转登录页面 @GetMapping("/login") public String login() { return "login"; } //登录操作 @PostMapping("/login") @ResponseBody public Map<String, Object> login(String userName, String password, String captcha, String type, HttpSession session) { //判断用户名、密码、用户类型、验证码是否为空 if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password) || StringUtils.isEmpty(captcha) || StringUtils.isEmpty(type)) { return MapControl.getInstance().error("用户名或密码不能为空").getMap(); } //获取系统生成的验证码 String _captcha = (String) session.getAttribute("captcha"); //先判断验证码是否正确 if (!(captcha.toLowerCase()).equals(_captcha.toLowerCase())) { //验证码错误 return MapControl.getInstance().error("验证码错误").getMap(); } //判断用户类型 if ("1".equals(type)) { //管理员验证登录 User user = userService.login(userName, MD5Utils.getMD5(password)); //对密码进行加密处理,因为数据库中存储的是加密后的密码 if (user != null) { session.setAttribute("user", user); session.setAttribute("type", 1); return MapControl.getInstance().success().add("data", user).getMap(); } else { return MapControl.getInstance().error("用户名或密码错误").getMap(); } } if ("2".equals(type)) { //老师验证登录 Teacher teacher = teacherService.login(userName, MD5Utils.getMD5(password)); if (teacher != null) { session.setAttribute("user", teacher); session.setAttribute("type", "2"); return MapControl.getInstance().success().add("data", teacher).getMap(); } else { return MapControl.getInstance().error("用户名或密码错误").getMap(); } } if ("3".equals(type)) { //学生验证登录 Student student = studentService.login(userName, MD5Utils.getMD5(password)); if (student != null) { session.setAttribute("user", student); session.setAttribute("type", "3"); return MapControl.getInstance().success().add("data", student).getMap(); } else { return MapControl.getInstance().error("用户名或密码错误").getMap(); } } return MapControl.getInstance().getMap(); }
}
生成验证码:@Controller
@RequestMapping("/captcha")
public class CaptchaController {
private char[] codeSequence = {'A', '1', 'B', 'C', '2', 'D', '3', 'E', '4', 'F', '5', 'G', '6', 'H', '7', 'I', '8', 'J', 'K', '9', 'L', '1', 'M', '2', 'N', 'P', '3', 'Q', '4', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; @RequestMapping("/code") public void getCode(HttpServletResponse response, HttpSession session) throws IOException { int width = 80; int height = 37; Random random = new Random(); //设置response头信息 //禁止缓存 response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); //生成缓冲区image类 BufferedImage image = new BufferedImage(width, height, 1); //产生image类的Graphics用于绘制操作 Graphics g = image.getGraphics(); //Graphics类的样式 g.setColor(this.getColor(200, 250)); g.setFont(new Font("Times New Roman", 0, 28)); g.fillRect(0, 0, width, height); //绘制干扰线 for (int i = 0; i < 40; i++) { g.setColor(this.getColor(130, 200)); int x = random.nextInt(width); int y = random.nextInt(height); int x1 = random.nextInt(12); int y1 = random.nextInt(12); g.drawLine(x, y, x + x1, y + y1); } //绘制字符 String strCode = ""; for (int i = 0; i < 4; i++) { String rand = String.valueOf(codeSequence[random.nextInt(codeSequence.length)]); strCode = strCode + rand; g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110))); g.drawString(rand, 13 * i + 6, 28); } //将字符保存到session中用于前端的验证 session.setAttribute("captcha", strCode.toLowerCase()); g.dispose(); ImageIO.write(image, "JPEG", response.getOutputStream()); response.getOutputStream().flush(); } public Color getColor(int fc, int bc) { Random random = new Random(); if (fc > 255) fc = 255; if (bc > 255) bc = 255; int r = fc + random.nextInt(bc - fc); int g = fc + random.nextInt(bc - fc); int b = fc + random.nextInt(bc - fc); return new Color(r, g, b); }
}
这篇关于Java项目:嘟嘟校园一卡通系统(java+JSP+Servlet+html+css+JavaScript+JQuery+Ajax+mysql)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-21订单系统资料入门教程:轻松管理你的订单
- 2024-09-21Java部署资料:新手入门教程
- 2024-09-21Java部署资料:新手入门教程
- 2024-09-21Java订单系统资料:新手入门教程与实战指南
- 2024-09-21Java管理系统资料入门教程
- 2024-09-21从零开始学习Java监控系统资料
- 2024-09-21Java就业项目资料:新手入门的必备教程
- 2024-09-21Java全端资料:初学者指南
- 2024-09-21Java全栈资料入门教程及资源汇总
- 2024-09-21Java日志系统资料入门教程