做一个简单的水果购物平台,要有注册页面、登录页面、购物页面(可以选择商品和数量,商品提前在代码里写好,数量大概四到五个)、结算页面(列出商品+计算总价)、购买成功页面
要求如下:
1、系统必须采用MVC模式实现(要有视图层:login.html等、Servlet层、Model层)
2、JSP可以运用Java程序片
3、数据库的表至少有两个或以上,涉及到多表连接查询的建议通过视图实现,直接查询视图即可
4、模块中要有涉及数据库的两个基本操作:查询、添加、删除、更新皆可
5、系统要有不同的用户类型,至少两种以上,模块要具备一定的安全性。即不同用户访问的权限不同
6、idea版本是2022.3.2,mysql8.0.31,nacivat premium 15
你是有后台sql文件了?
网上相关资源挺多的,也有不少是提供完整源代码的,你可以多找下,比如
JavaWeb:实现购物商城(课程设计完整版):
https://blog.csdn.net/m0_63512120/article/details/129108284
这年头干啥都得花钱,30买不了商城项目
可以参考下
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;
下面是使用 Spring MVC 实现的一个简单的水果购物平台,包括注册页面、登录页面、购物页面、结算页面和购买成功页面。
首先,我们需要定义一个实体类 Fruit ,用于表示水果的信息,包括名称、价格和数量:
public class Fruit {
private String name;
private double price;
private int quantity;
// 省略 getter 和 setter 方法
}
接下来,我们定义一个控制器 FruitController ,用于处理用户的请求。该控制器包括以下几个方法:
@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";
}
}
最后,我们需要定义视图模板,包括注册页面、登录页面、购物页面、结算页面和购买成功页面。这里我们使用 Thymeleaf 模板引擎来渲染视图。
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>
可以参考这个实现:https://blog.csdn.net/feng1790291543/article/details/131041229?spm=1001.2014.3001.5502
https://download.csdn.net/download/tangshiyilang/87586732 这个可以满足你的需求