• 【JAVAWEB开发】基于Java+Servlet+Ajax+jsp网上购物系统设计实现


    哈喽~大家好呀,这篇给的大家带来的是网上购物系统设计。在传统电商时代,用户是先有需求再购买,用户对平台较为依赖,商家对消费者很难有直接的影响力,而如今社交 + 电商解决了产品质量的信息不对称问题,电商已经成为当今经济发展的一个重要领域。而网上购物就是实现之一,现在我们就来看看吧。

    一、效果演示

    1、首页界面

     如果没有登录,就只能查看无法购买

    2、商品界面

     3、商品详情界面

     4、购物车界面

     5、购物订单界面

     6、交易成功界面

     7、个人订单界面

    8、个人收藏界面

     9、管理员界面

     10、全部订单界面

     11、全部收藏界面

     二、数据库设计

    数据库定义:数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

    用户表(user):字段(id,用户名,密码,电话,邮箱)

    购物车表(shopping_cart):字段(id,用户名,商品名,价格,购买数量,总价,图片地址)

    订单表(order):字段(id,商品名,邮箱,用户名,收货地址,收货电话)

    商品详情表(goods_parameters):字段(id,商品类型,图片地址)

    商品类型(favorite):字段(id,商品类型名)

    商品表(user):字段(id,商品名,商品类型名,价格,图片地址,销量,库存)

    收藏表(favorite):字段(id,用户名,商品名,价格,图片地址)

    历史记录表(browsinghistory):字段(id,记录名,记录价格,记录图片地址)、

    品牌表(brand):字段(id,用户名,品牌类型,品牌名)

    三、部分代码展示

    登录展示

    1. <div class="registerarea ">
    2. <h4>登录账号
    3. <div class="login"> 没有账号,去<a href="register.jsp" class="style_red">注册a>    <a href="retrievePassword.jsp">忘记密码?点击找回a>div>
    4. h4>
    5. <div class="reg_form">
    6. <form action="/EasybuyProject/loginServlet" class="submit" method="post">
    7. <ul class="clearfix:after">
    8. <li>
    9. <label>账号:label> <input type="text" class="inp username" name="username">
    10. <span class="error">格式错误,应为长度6-20并含有大小写字母数字span>
    11. <font color="red">
    12. <%
    13. if(session.getAttribute("messageLogin")!= null){
    14. out.print(session.getAttribute("messageLogin"));
    15. session.invalidate();
    16. }
    17. %>
    18. font>
    19. li>
    20. <li>
    21. <label>密码:label> <input type="password" class="inp password" name="password">
    22. <%-- <span class="error">格式错误,应为长度6-20并含有大小写字母数字span>--%>
    23. li>
    24. <li>
    25. <input type="submit" class="inputButton" value="登录">   
    26. <input type="reset" value="重置" class="inputButton">
    27. li>
    28. ul>
    29. form>
    30. div>
    31. div>

    正则验证

    Servlet

    1. @WebServlet("/EasybuyProject/loginServlet")
    2. public class LoginServlet extends HttpServlet {
    3. @Override
    4. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    5. doPost(req, resp);
    6. }
    7. @Override
    8. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    9. req.setCharacterEncoding("utf8");
    10. resp.setCharacterEncoding("utf8");
    11. resp.setContentType("text/html;charset=UTF-8");
    12. String username = req.getParameter("username");
    13. String password = req.getParameter("password");
    14. UserService userService = new UserServiceImpl();
    15. User user = userService.login(username, password);
    16. HttpSession session = req.getSession();
    17. if (user != null && (!Objects.equals(username, "XzwadminNo1")) && !Objects.equals(password, "XzwadminNo1")) {
    18. resp.sendRedirect("/FrontPage/index.jsp");
    19. session.setAttribute("success",username);
    20. } else if(Objects.equals(username, "XzwadminNo1") && Objects.equals(password, "XzwadminNo1")){
    21. session.setAttribute("success",username);
    22. resp.sendRedirect("/FrontPage/indexAdmin.jsp");
    23. } else {
    24. session.setAttribute("messageLogin","用户名或者密码错误");
    25. resp.sendRedirect("/FrontPage/login.jsp");
    26. }
    27. }
    28. }

    实体类

    1. public class User {
    2. private int id;
    3. private String username;
    4. private String password;
    5. private String tel;
    6. private String email;
    7. public User() {
    8. }
    9. public User(String tel, String email) {
    10. this.tel = tel;
    11. this.email = email;
    12. }
    13. public User(int id, String username, String password, String tel, String email) {
    14. this.id = id;
    15. this.username = username;
    16. this.password = password;
    17. this.tel = tel;
    18. this.email = email;
    19. }
    20. public int getId() {
    21. return id;
    22. }
    23. public void setId(int id) {
    24. this.id = id;
    25. }
    26. public String getUsername() {
    27. return username;
    28. }
    29. public void setUsername(String username) {
    30. this.username = username;
    31. }
    32. public String getPassword() {
    33. return password;
    34. }
    35. public void setPassword(String password) {
    36. this.password = password;
    37. }
    38. public String getTel() {
    39. return tel;
    40. }
    41. public void setTel(String tel) {
    42. this.tel = tel;
    43. }
    44. public String getEmail() {
    45. return email;
    46. }
    47. public void setEmail(String email) {
    48. this.email = email;
    49. }
    50. @Override
    51. public String toString() {
    52. return "User{" +
    53. "id=" + id +
    54. ", username='" + username + '\'' +
    55. ", password='" + password + '\'' +
    56. ", tel='" + tel + '\'' +
    57. ", email='" + email + '\'' +
    58. '}';
    59. }
    60. }

    Dao

    1. public User login(String username, String password) {
    2. User user = null;
    3. Connection connection = null;
    4. PreparedStatement preparedStatement = null;
    5. ResultSet resultSet = null;
    6. try {
    7. connection = JdbcUtil.getConnection();
    8. String sql = "select * from user where username = ? and password= ?";
    9. preparedStatement = connection.prepareStatement(sql);
    10. preparedStatement.setString(1, username);
    11. preparedStatement.setString(2, password);
    12. resultSet = preparedStatement.executeQuery();
    13. if (resultSet.next()) {
    14. user = new User();
    15. user.setUsername(resultSet.getString("username"));
    16. user.setPassword(resultSet.getString("password"));
    17. }
    18. } catch (Exception e) {
    19. e.printStackTrace();
    20. } finally {
    21. JdbcUtil.release(resultSet, preparedStatement, connection);
    22. }
    23. return user;
    24. }

    效果展示

    源码获取见公众号

    不积跬步无以至千里,趁年轻,使劲拼,给未来的自己一个交代!向着明天更好的自己前进吧!

  • 相关阅读:
    Redis 分布式锁
    智能运维|AIRIOT智慧光伏管理解决方案
    SEO写作,小白如何快速写一篇高质量SEO文章
    泥环算法 (MRA)附matlab代码
    C语言 题目 1701: 数据结构-自顶向下的赫夫曼编码
    Lua调用C#类
    Go语言面经进阶10问
    8、DVWA——XSS(Reflected)
    Android实战——使用状态模式重构下载状态及行为
    html实现个人空间(源码)
  • 原文地址:https://blog.csdn.net/aasd23/article/details/126644476