使用eclipse,建立一个简单的购物网站,要求有登录页面,检查用户名和密码正确后进入商品主页,可根据自己的情况创建一个或多个商品,并有添加购物车功能,添加后便展示购物车的商品。
时间: 2023-09-24 10:02:25 浏览: 125
好的,这个任务可以分为以下几个步骤:
1. 建立一个 Java Web 项目。
2. 设计并实现登录页面,验证用户名和密码。
3. 创建商品主页,展示商品信息。
4. 实现添加购物车功能,将选中的商品添加到购物车中。
5. 展示购物车中的商品。
下面我将逐一介绍如何完成这些步骤。
1. 建立 Java Web 项目
首先在 Eclipse 中新建一个 Dynamic Web Project,设置一些基本信息,例如项目名称、运行环境等。在创建过程中可以选择使用 Maven 管理依赖。
2. 设计并实现登录页面,验证用户名和密码
在项目中创建一个名为 login.jsp 的文件,并在其中设计登录页面。可以使用 HTML 和 CSS 来美化页面。在用户输入用户名和密码后,需要将其提交到服务器端进行验证。
一种常见的方法是,在服务器端创建一个名为 LoginServlet 的 Servlet,当用户提交表单时,将表单数据传递到该 Servlet。在 Servlet 中,读取表单数据,与预设的用户名和密码进行比对。如果匹配成功,则将用户重定向到商品主页;否则返回登录页面并显示错误信息。
具体实现代码如下:
login.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Page</title>
</head>
<body>
<h1>Login Page</h1>
<form action="login" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
LoginServlet.java:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
// 设置正确的用户名和密码
private final String USERNAME = "admin";
private final String PASSWORD = "123456";
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户输入的用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
if (USERNAME.equals(username) && PASSWORD.equals(password)) {
// 如果匹配成功,将用户重定向到商品主页
response.sendRedirect("product");
} else {
// 如果匹配失败,返回登录页面并显示错误信息
request.setAttribute("msg", "Incorrect username or password");
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
}
```
3. 创建商品主页,展示商品信息
在项目中创建一个名为 product.jsp 的文件,并在其中展示商品信息。可以使用 HTML 和 CSS 来美化页面。
具体实现代码如下:
product.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Product Page</title>
</head>
<body>
<h1>Product Page</h1>
<ul>
<li>Product 1</li>
<li>Product 2</li>
<li>Product 3</li>
</ul>
<form action="add-to-cart" method="post">
<input type="checkbox" name="product" value="Product 1">Product 1<br>
<input type="checkbox" name="product" value="Product 2">Product 2<br>
<input type="checkbox" name="product" value="Product 3">Product 3<br>
<input type="submit" value="Add to Cart">
</form>
</body>
</html>
```
4. 实现添加购物车功能,将选中的商品添加到购物车中
在服务器端创建一个名为 AddToCartServlet 的 Servlet,当用户在商品主页中勾选商品并点击“添加到购物车”按钮时,将表单数据传递到该 Servlet。在 Servlet 中,读取表单数据,并将勾选的商品添加到购物车中。
一种常见的方法是,使用 HttpSession 来保存购物车中的商品信息。具体实现代码如下:
AddToCartServlet.java:
```java
import java.io.IOException;
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;
@WebServlet("/add-to-cart")
public class AddToCartServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户勾选的商品
String[] products = request.getParameterValues("product");
// 将勾选的商品添加到购物车中
HttpSession session = request.getSession();
for (String product : products) {
if (session.getAttribute(product) == null) {
session.setAttribute(product, 1);
} else {
int count = (int) session.getAttribute(product);
session.setAttribute(product, count + 1);
}
}
// 重定向到购物车页面
response.sendRedirect("cart");
}
}
```
5. 展示购物车中的商品
在服务器端创建一个名为 CartServlet 的 Servlet,当用户访问购物车页面时,将购物车中的商品信息展示出来。
具体实现代码如下:
cart.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Cart Page</title>
</head>
<body>
<h1>Cart Page</h1>
<ul>
<%-- 遍历购物车中的商品 --%>
<c:forEach items="${sessionScope}" var="item">
<%-- 只展示商品数量大于 0 的商品 --%>
<c:if test="${sessionScope[item.key] > 0}">
<li>${item.key} x ${sessionScope[item.key]}</li>
</c:if>
</c:forEach>
</ul>
</body>
</html>
```
CartServlet.java:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/cart")
public class CartServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 转发到 cart.jsp 页面
request.getRequestDispatcher("/cart.jsp").forward(request, response);
}
}
```
以上就是这个简单的购物网站的实现过程。当然,这只是一个小型的 demo,实际的购物网站需要考虑更多的因素,例如商品的分类、搜索功能、订单管理等等。
阅读全文