JavaWeb课程设计——名片管理系统,mybatis执行流程面试题

功能主要分为 四个部分:

1、用户的登录、注册

2、名片管理:增删改查名片,删除分为彻底删除或者放入到回收站中

3、回收站:对删除的名片进行还原或者删除

4、管理员:可以对所有名片和所有用户进行管理

二、使用技术


主要使用 jsp,css,js做的页面(做的很丑确实)

java写代码

使用了 jdbc 连接数据库,servlet处理用户请求和响应,jsp前后台交互。

使用了mvc三层架构。

三、代码演示


1、java代码

结构:

在这里插入图片描述

2、页面

在这里插入图片描述

3、核心代码

package com.atmae.web;

import com.atmae.pojo.Card;

import com.atmae.pojo.User;

import com.atmae.service.CardService;

import com.atmae.service.UserService;

import com.atmae.service.impl.CardServiceImpl;

import com.atmae.service.impl.UserServiceImpl;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import java.io.IOException;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import java.nio.charset.StandardCharsets;

import java.util.List;

@WebServlet(“/cardServlet”)

public class CardServlet extends HttpServlet {

private CardService cardService = new CardServiceImpl();

private UserService userService = new UserServiceImpl();

protected void showAny(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

List cards = cardService.show();

req.setAttribute(“cards”, cards);

req.getRequestDispatcher(“manage1.jsp”).forward(req, resp);

}

protected void show(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String id = req.getParameter(“id”);

int id0 = Integer.parseInt(id);

Card card = cardService.showCardById(id0);

if (card == null) {

req.setAttribute(“error”, “未找到此id!”);

} else {

req.setAttribute(“card”, card);

}

req.getRequestDispatcher(“show.jsp”).forward(req, resp);

}

protected void showDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

HttpSession session = req.getSession();

User user = (User) session.getAttribute(“user”);

String username = user.getUsername();

List cards = cardService.showCardForDelete(username);

if (cards != null) {

req.setAttribute(“cards”, cards);

} else {

req.setAttribute(“error”, “回收站为空”);

}

req.getRequestDispatcher(“waste.jsp”).forward(req, resp);

}

protected void showDeleteAdmin(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

List cards = cardService.showDeleteAdmin();

if (cards != null) {

req.setAttribute(“cards”, cards);

} else {

req.setAttribute(“error”, “回收站为空”);

}

req.getRequestDispatcher(“waste.jsp”).forward(req, resp);

}

protected void showAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

HttpSession session = req.getSession();

User user = (User) session.getAttribute(“user”);

String username = user.getUsername();

List cards = cardService.showCards(username);

if (cards != null) {

req.setAttribute(“cards”, cards);

req.setAttribute(“mulity”, “mulity”);

} else {

req.setAttribute(“error”, “当前用户没有名片”);

}

req.getRequestDispatcher(“show.jsp”).forward(req, resp);

}

protected void updateName(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String name = req.getParameter(“name”);

name = new String(name.getBytes(“ISO-8859-1”), “UTF-8”);

String id = req.getParameter(“id”);

HttpSession session = req.getSession();

User user = (User) session.getAttribute(“user”);

int id0 = Integer.parseInt(id);

if (user.getUsername().equals(cardService.showCNameByID(id0)) && cardService.updateName(name, id0)) {

req.getRequestDispatcher(“jump3.jsp”).forward(req, resp);

} else {

req.setAttribute(“error”, “未找到此id号”);

req.getRequestDispatcher(“update.jsp”).forward(req, resp);

}

}

protected void updateAccount(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String account = req.getParameter(“account”);

String id = req.getParameter(“id”);

HttpSession session = req.getSession();

User user = (User) session.getAttribute(“user”);

int id0 = Integer.parseInt(id);

if (user.getUsername().equals(cardService.showCNameByID(id0)) && cardService.updateAccount(account, id0)) {

req.getRequestDispatcher(“jump3.jsp”).forward(req, resp);

} else {

req.setAttribute(“error”, “未找到此id号”);

req.getRequestDispatcher(“update.jsp”).forward(req, resp);

}

}

protected void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String name = req.getParameter(“name”);

String prem = req.getParameter(“prem”);

int prem0 = Integer.parseInt(prem);

name = new String(name.getBytes(“ISO-8859-1”), “UTF-8”);

HttpSession session = req.getSession();

User user = (User) session.getAttribute(“user”);

if (prem0 == 1) {

if (user.getUsername().equals(cardService.showCNameByName(name)) && cardService.deleteRealByName(name) != -1) {

req.getRequestDispatcher(“jump2.jsp”).forward(req, resp);

} else {

req.setAttribute(“error”, “未找到此用户名”);

req.getRequestDispatcher(“delete.jsp”).forward(req, resp);

}

} else {

if (user.getUsername().equals(cardService.showCNameByName(name)) && cardService.deleteCardByName(name)) {

req.getRequestDispatcher(“jump2.jsp”).forward(req, resp);

} else {

req.setAttribute(“error”, “未找到此用户名”);

req.getRequestDispatcher(“delete.jsp”).forward(req, resp);

}

}

}

protected void deleteCard(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String id = req.getParameter(“id”);

String prem = req.getParameter(“prem”);

int prem0 = Integer.parseInt(prem);

int id0 = Integer.parseInt(id);

if (prem0 == 1) {

cardService.deleteCardByID(id0);

req.getRequestDispatcher(“jump7.jsp”).forward(req, resp);

} else {

cardService.deleteRealById(id0);

req.getRequestDispatcher(“jump6.jsp”).forward(req, resp);

}

}

protected void permanent(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String id = req.getParameter(“id”);

int id0 = Integer.parseInt(id);

cardService.deleteWaste(id0);

req.getRequestDispatcher(“jump5.jsp”).forward(req, resp);

}

protected void restore(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String id = req.getParameter(“id”);

int id0 = Integer.parseInt(id);

cardService.returnWaste(id0);

req.getRequestDispatcher(“jump4.jsp”).forward(req, resp);

}

protected void insert(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

总目录展示

该笔记共八个节点(由浅入深),分为三大模块。

高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。该笔记将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这4个方面重点介绍。

一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。因此,将用一个节点来专门讲解如何设计秒杀减库存方案。

高可用。 虽然介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,还要设计一个PlanB来兜底,以便在最坏情况发生时仍然能够从容应对。笔记的最后,将带你思考可以从哪些环节来设计兜底方案。


篇幅有限,无法一个模块一个模块详细的展示(这些要点都收集在了这份《高并发秒杀顶级教程》里),麻烦各位转发一下(可以帮助更多的人看到哟!)

由于内容太多,这里只截取部分的内容。
而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。因此,将用一个节点来专门讲解如何设计秒杀减库存方案。

高可用。 虽然介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,还要设计一个PlanB来兜底,以便在最坏情况发生时仍然能够从容应对。笔记的最后,将带你思考可以从哪些环节来设计兜底方案。


篇幅有限,无法一个模块一个模块详细的展示(这些要点都收集在了这份《高并发秒杀顶级教程》里),麻烦各位转发一下(可以帮助更多的人看到哟!)

[外链图片转存中…(img-dQ160Rhy-1712086467081)]

[外链图片转存中…(img-l7YkTAkv-1712086467082)]

由于内容太多,这里只截取部分的内容。

  • 23
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值