Java毕业设计实战之校园一卡通系统的实现

网友投稿 325 2022-08-31


Java毕业设计实战之校园一卡通系统的实现

一、项目简述(+需求文档+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 add(@RequestBody User user) {

if(StringUtils.isEmpty(ushttp://er.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 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 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 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 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 login(String userName, String password, String captcha, String type, HttpSession session) {

http:// //判断用户名、密码、用户类型、验证码是否为空

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);

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python中关于join函数的陷阱?(python中join方法)
下一篇:Python简明教程--Dict(python简明教程.pdf)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~