dbouo 2023-06-04 22:19 采纳率: 62.5%
浏览 156
已结题

JavaWeb实验(购物平台)

做一个简单的水果购物平台,要有注册页面、登录页面、购物页面(可以选择商品和数量,商品提前在代码里写好,数量大概四到五个)、结算页面(列出商品+计算总价)、购买成功页面
要求如下:
1、系统必须采用MVC模式实现(要有视图层:login.html等、Servlet层、Model层)
2、JSP可以运用Java程序片
3、数据库的表至少有两个或以上,涉及到多表连接查询的建议通过视图实现,直接查询视图即可
4、模块中要有涉及数据库的两个基本操作:查询、添加、删除、更新皆可
5、系统要有不同的用户类型,至少两种以上,模块要具备一定的安全性。即不同用户访问的权限不同
6、idea版本是2022.3.2,mysql8.0.31,nacivat premium 15

  • 写回答

8条回答 默认 最新

  • 夜郎king 2022博客之星IT其它领域TOP 12 2023-06-05 08:08
    关注

    img


    可以到gitee中找找,相关资源挺多的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 这一次有糖 2023-06-04 22:25
    关注

    你是有后台sql文件了?

    评论
  • 阳光宅男xxb 2023-06-05 08:12
    关注

    网上相关资源挺多的,也有不少是提供完整源代码的,你可以多找下,比如
    JavaWeb:实现购物商城(课程设计完整版):
    https://blog.csdn.net/m0_63512120/article/details/129108284

    评论
  • 江湖是人情世故 2023-06-05 09:47
    关注

    这年头干啥都得花钱,30买不了商城项目

    评论
  • 还有头发的程序员- 2023-06-05 10:10
    关注

    可以参考下
    1.登录和注册

    //1.判读用户请求的类型为login
            String method = req.getParameter("type");
            switch (method) {
                case "login":
                    // 从 login.html中 拿 账号,密码等数据
                    String name = req.getParameter("name");
                    String pwd = req.getParameter("pwd");
    
                    //  调用UserBiz的getUser方法,根据 网页中 输入的账号密码,获取相应对象
                    User user = userBiz.getUser(name,pwd);
    
                     //判断 获取到的对象是否为 null;
                     if (user == null) {
                         System.out.println(user);
                         out.println("<script>alert('用户名或密码不存在');location.href = 'login.html';</script>");
                     }else {
    
                         session.setAttribute("user",user);//user-->Object
                         out.println("<script>alert('登录成功');location.href='/UserShow';</script>");
                     }
    
                     break;
                case "register" :
    
                    // 从 login.html中 拿 账号,密码等数据
                    String name1 = req.getParameter("name");
                    String pwd1 = req.getParameter("pwd");
                    UserDao userDao = new UserDao();
                    try {
                        userDao.setUser(name1,pwd1);
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                    out.println("<script>alert('注册成功');location.href = 'login.html';</script>");
                    break;
    
    
    
    
    评论
  • HiSiri666666 Java领域优质创作者 2023-06-05 12:59
    关注

    下面是使用 Spring MVC 实现的一个简单的水果购物平台,包括注册页面、登录页面、购物页面、结算页面和购买成功页面。

    1. 实体类

    首先,我们需要定义一个实体类 Fruit ,用于表示水果的信息,包括名称、价格和数量:

    public class Fruit {
        private String name;
        private double price;
        private int quantity;
        // 省略 getter 和 setter 方法
    }
    
    
    1. 控制器

    接下来,我们定义一个控制器 FruitController ,用于处理用户的请求。该控制器包括以下几个方法:

    • register() :显示注册页面。
    • doRegister() :处理用户提交的注册信息。
    • login() :显示登录页面。
    • doLogin() :处理用户提交的登录信息。
    • logout() :注销当前用户。
    • shop() :显示购物页面。
    • addToCart() :将商品添加到购物车。
    • checkout() :显示结算页面。
    • confirmPurchase() :确认购买并显示购买成功页面。
    @Controller
    public class FruitController {
        private List<Fruit> fruits = new ArrayList<>(); // 水果列表
        private Map<String, Integer> cart = new HashMap<>(); // 购物车
         public FruitController() {
            // 初始化水果列表
            fruits.add(new Fruit("Apple", 2.0, 10));
            fruits.add(new Fruit("Banana", 1.5, 20));
            fruits.add(new Fruit("Orange", 3.0, 15));
            fruits.add(new Fruit("Grape", 4.0, 8));
            fruits.add(new Fruit("Watermelon", 10.0, 5));
        }
         @GetMapping("/register")
        public String register(Model model) {
            model.addAttribute("user", new User());
            return "register";
        }
         @PostMapping("/register")
        public String doRegister(@ModelAttribute("user") User user, BindingResult result) {
            // 处理注册信息
            return "redirect:/login";
        }
         @GetMapping("/login")
        public String login(Model model) {
            model.addAttribute("user", new User());
            return "login";
        }
         @PostMapping("/login")
        public String doLogin(@ModelAttribute("user") User user, BindingResult result) {
            // 处理登录信息
            return "redirect:/shop";
        }
         @GetMapping("/logout")
        public String logout(SessionStatus status) {
            status.setComplete();
            return "redirect:/login";
        }
         @GetMapping("/shop")
        public String shop(Model model) {
            model.addAttribute("fruits", fruits);
            model.addAttribute("cart", cart);
            return "shop";
        }
         @PostMapping("/addToCart")
        public String addToCart(@RequestParam String fruitName, @RequestParam int quantity) {
            // 将商品添加到购物车
            return "redirect:/shop";
        }
         @GetMapping("/checkout")
        public String checkout(Model model) {
            model.addAttribute("cart", cart);
            return "checkout";
        }
         @PostMapping("/confirmPurchase")
        public String confirmPurchase() {
            // 确认购买
            cart.clear();
            return "purchaseSuccess";
        }
    }
    
    
    1. 视图

    最后,我们需要定义视图模板,包括注册页面、登录页面、购物页面、结算页面和购买成功页面。这里我们使用 Thymeleaf 模板引擎来渲染视图。

    • 注册页面 register.html :
    html
    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>Register</title>
    </head>
    <body>
    <h2>Register</h2>
    <form th:action="@{/register}" method="post" th:object="${user}">
        <label>Username:</label>
        <input type="text" th:field="*{username}"/><br/>
        <label>Password:</label>
        <input type="password" th:field="*{password}"/><br/>
        <button type="submit">Register</button>
    </form>
    </body>
    </html>
    
    
    

    登录页面

    html
    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>Login</title>
    </head>
    <body>
    <h2>Login</h2>
    <form th:action="@{/login}" method="post" th:object="${user}">
        <label>Username:</label>
        <input type="text" th:field="*{username}"/><br/>
        <label>Password:</label>
        <input type="password" th:field="*{password}"/><br/>
        <button type="submit">Login</button>
    </form>
    </body>
    </html>
    
    
    
    评论
  • 鱼弦 全栈领域创作新星创作者 2023-06-06 18:27
    关注
    评论
  • 雾林小妖 2023-06-07 18:15
    关注
    评论
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 6月18日
  • 已采纳回答 6月10日
  • 修改了问题 6月5日
  • 创建了问题 6月4日

悬赏问题

  • ¥60 PCDN如何使用宽带的电视业务通道拨号叠加带宽?
  • ¥15 遇到这种校园宽带网络应该怎么样解决?
  • ¥30 AXI VIP验证多余打印问题
  • ¥15 利用加权最小二乘法求某品牌手机价格指标,已按照总销量计算出权重,各类型号手机价格已知,如何求得价格指标?
  • ¥15 如何自制一个硬件钱包,有兴趣的朋友一起交流
  • ¥15 (关键词-聊天软件)
  • ¥15 求大家看看这个编程的编法没有思路啊
  • ¥20 WSL打开图形化程序子窗口无法点击
  • ¥15 Jupyter Notebook 数学公式不渲染
  • ¥20 ERR_CACHE_MISS 确认重新提交表单