Ver código fonte

Merge commit 'f2e35dc378c9ee33ead6e94a1c1e28cdc0274a5d'

wei 3 anos atrás
pai
commit
4df139f8c6

+ 10 - 0
.idea/.gitignore

@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 # Default ignored files
 /shelf/
 /workspace.xml
@@ -5,4 +6,13 @@
 /dataSources/
 /dataSources.local.xml
 # Editor-based HTTP Client requests
+=======
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 数据源本地存储已忽略文件
+/dataSources/
+/dataSources.local.xml
+# 基于编辑器的 HTTP 客户端请求
+>>>>>>> f2e35dc378c9ee33ead6e94a1c1e28cdc0274a5d
 /httpRequests/

+ 14 - 0
.idea/artifacts/raoyin_war.xml

@@ -0,0 +1,14 @@
+<component name="ArtifactManager">
+  <artifact type="war" name="raoyin:war">
+    <output-path>$PROJECT_DIR$/target</output-path>
+    <properties id="maven-jee-properties">
+      <options>
+        <module>raoyin</module>
+        <packaging>war</packaging>
+      </options>
+    </properties>
+    <root id="archive" name="raoyin.war">
+      <element id="artifact" artifact-name="raoyin:war exploded" />
+    </root>
+  </artifact>
+</component>

+ 23 - 0
.idea/artifacts/raoyin_war_exploded.xml

@@ -0,0 +1,23 @@
+<component name="ArtifactManager">
+  <artifact type="exploded-war" name="raoyin:war exploded">
+    <output-path>$PROJECT_DIR$/target/raoyin</output-path>
+    <properties id="maven-jee-properties">
+      <options>
+        <exploded>true</exploded>
+        <module>raoyin</module>
+        <packaging>war</packaging>
+      </options>
+    </properties>
+    <root id="root">
+      <element id="directory" name="WEB-INF">
+        <element id="directory" name="classes">
+          <element id="module-output" name="raoyin" />
+        </element>
+      </element>
+      <element id="directory" name="META-INF">
+        <element id="file-copy" path="$PROJECT_DIR$/target/raoyin/META-INF/MANIFEST.MF" />
+      </element>
+      <element id="javaee-facet-resources" facet="raoyin/web/Web" />
+    </root>
+  </artifact>
+</component>

+ 16 - 0
.idea/compiler.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="raoyin" />
+      </profile>
+    </annotationProcessing>
+    <bytecodeTargetLevel>
+      <module name="raoyin" target="1.7" />
+    </bytecodeTargetLevel>
+  </component>
+</project>

+ 20 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>

+ 13 - 0
.idea/libraries/Maven__junit_junit_4_11.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: junit:junit:4.11">
+    <CLASSES>
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.11/junit-4.11.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.11/junit-4.11-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.11/junit-4.11-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.hamcrest:hamcrest-core:1.3">
+    <CLASSES>
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 14 - 0
.idea/misc.xml

@@ -1,6 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+<<<<<<< HEAD
   <component name="ProjectRootManager">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
+=======
+  <component name="FrameworkDetectionExcludesConfiguration">
+    <file type="web" url="file://$PROJECT_DIR$" />
+  </component>
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_15" default="true" project-jdk-name="15" project-jdk-type="JavaSDK" />
+>>>>>>> f2e35dc378c9ee33ead6e94a1c1e28cdc0274a5d
 </project>

+ 4 - 0
.idea/modules.xml

@@ -2,7 +2,11 @@
 <project version="4">
   <component name="ProjectModuleManager">
     <modules>
+<<<<<<< HEAD
       <module fileurl="file://$PROJECT_DIR$/.idea/Raoying.iml" filepath="$PROJECT_DIR$/.idea/Raoying.iml" />
+=======
+      <module fileurl="file://$PROJECT_DIR$/raoyin.iml" filepath="$PROJECT_DIR$/raoyin.iml" />
+>>>>>>> f2e35dc378c9ee33ead6e94a1c1e28cdc0274a5d
     </modules>
   </component>
 </project>

+ 4 - 0
.idea/vcs.xml

@@ -1,6 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="VcsDirectoryMappings">
+<<<<<<< HEAD
     <mapping directory="" vcs="Git" />
+=======
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+>>>>>>> f2e35dc378c9ee33ead6e94a1c1e28cdc0274a5d
   </component>
 </project>

+ 67 - 0
pom.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>com.example</groupId>
+  <artifactId>raoyin</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>war</packaging>
+
+  <name>raoyin Maven Webapp</name>
+  <!-- FIXME change it to the project's website -->
+  <url>http://www.example.com</url>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <finalName>raoyin</finalName>
+    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
+      <plugins>
+        <plugin>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>3.1.0</version>
+        </plugin>
+        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
+        <plugin>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>3.0.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>3.8.0</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.22.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>3.2.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.5.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>2.8.2</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

+ 26 - 0
raoyin.iml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="web" name="Web">
+      <configuration>
+        <descriptors>
+          <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/web.xml" />
+        </descriptors>
+        <webroots>
+          <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
+        </webroots>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.11" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
+  </component>
+</module>

+ 164 - 0
src/main/webapp/ShoppingCart.html

@@ -0,0 +1,164 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <link rel="stylesheet" type="text/css" href="css/CartCss.css">
+</head>
+<body>
+    <form action="ShoppingCart.html" method="get">
+        <div class="Store">
+            <a id="lable">
+                <input type="checkbox">
+                <div id="StoreIcon">
+                    <img src="https://assets.burberry.com/is/image/Burberryltd/0c498f053ef33c97aab8f9a472265caed3e75a39.jpg?$BBY_V2_SL_3x4$=&wid=1903&hei=2537">
+                </div>
+                <h3>StoreA</h3>
+            </a>
+            <div class="goods">
+                <input name="seleceed" type="checkbox">
+                <div id="GoodsIcon">
+                    <img src="https://assets.burberry.com/is/image/Burberryltd/0c498f053ef33c97aab8f9a472265caed3e75a39.jpg?$BBY_V2_SL_3x4$=&wid=1903&hei=2537">
+                </div>
+                <div id="exp">
+                    <h3>GoodsA</h3>
+                    <p>info & selected</p>
+                    <div id="count">
+                        <div>-</div>
+                        <input name="count" type="text">
+                        <div>+</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    
+    
+        <div class="Store">
+            <a id="lable">
+                <input type="checkbox">
+                <div id="StoreIcon">
+                    <img src="https://assets.burberry.com/is/image/Burberryltd/0c498f053ef33c97aab8f9a472265caed3e75a39.jpg?$BBY_V2_SL_3x4$=&wid=1903&hei=2537">
+                </div>
+                <h3>StoreB</h3>
+            </a>
+            <div class="goods">
+                <input name="selected" type="checkbox">
+                <div id="GoodsIcon">
+                    <img src="https://assets.burberry.com/is/image/Burberryltd/0c498f053ef33c97aab8f9a472265caed3e75a39.jpg?$BBY_V2_SL_3x4$=&wid=1903&hei=2537">
+                </div>
+                <div id="exp">
+                    <h3>GoodsB</h3>
+                    <p>info & selected</p>
+                    <div id="count">
+                        <div>-</div>
+                        <input name="count" type="text">
+                        <div>+</div>
+                    </div>
+                </div>
+            </div>
+            <div class="goods">
+                <input name="selected" type="checkbox">
+                <div id="GoodsIcon">
+                    <img src="https://assets.burberry.com/is/image/Burberryltd/0c498f053ef33c97aab8f9a472265caed3e75a39.jpg?$BBY_V2_SL_3x4$=&wid=1903&hei=2537">
+                </div>
+                <div id="exp">
+                    <h3>GoodsC</h3>
+                    <p>info & selected</p>
+                    <div id="count">
+                        <div>-</div>
+                        <input name="count" type="text">
+                        <div>+</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div id="BottomBar">
+            <input type="submit" name="submit" value="Delete">
+            <input type="submit" name="submit" value="Settle">
+        </div>
+    </form>
+
+    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
+    <script>
+        $("form>div.Store>div.goods>div#exp>div#count>div").click(function()
+        {
+            if(this.innerHTML == "-")
+            {
+                let text = $(this).next()[0];
+                let num = Number.parseInt(text.value);
+                // console.dir(num);
+                if(num.toString() == "NaN") num = 0;
+                else num = Math.max(0,--num);
+                text.value = num;
+            }
+            else
+            if(this.innerHTML == "+")
+            {
+                let text = $(this).prev()[0];
+                let num = Number.parseInt(text.value);
+                // console.dir(num);
+                if(num.toString() == "NaN") num = 1;
+                else num = Math.max(0,++num);
+                text.value = num;
+            }
+        });
+        $("form>div.Store>a#lable>input").change(function()
+        {
+            let items = $(this).parent().parent().children("div.goods").children("input");
+            // console.dir(items);
+            for(let i = 0; i < items.length; ++i)
+            {
+                items[i].checked = this.checked;
+            }
+        });
+        $("form>div.Store>div.goods>input").change(function()
+        {
+            let lableChecker = $(this).parent().parent().children("a#lable").children("input");
+            if(this.checked)
+            {
+                let otherGoods = $(this).parent().parent().children("div.goods").children("input").not(this);
+                for(let i = 0; i < otherGoods.length; ++i)
+                {
+                    // console.dir(otherGoods[i].checked);
+                    if(!otherGoods[i].checked)
+                    {
+                        return;
+                    }
+                }
+                lableChecker.prop("checked", true);
+            }
+            else
+            {
+                lableChecker.prop("checked", false);
+            }
+        })
+        $("form>div.Store>div.goods>div#exp>div#count>input").focusout(function()
+        {
+            let num = Number.parseInt(this.value);
+            if(num.toString() == "NaN") num = 0;
+            this.value = num;
+        }).keyup(function()
+        {
+            let num = Number.parseInt(this.value);
+            if(num.toString() == "NaN") num = 0;
+            this.value = num;
+        }).keydown(function()
+        {
+            let num = Number.parseInt(this.value);
+            if(num.toString() == "NaN") num = 0;
+            this.value = num;
+        });
+        $("form>div#BottomBar>input[type='submit']").click(function()
+        {
+            let counts = $("form>div#Store>div.goods>div#exp>div#count>input");
+            for (let index = 0; index < counts.length; index++) {
+                let num = Number.parseInt( counts[index].value);
+                if(num.toString() == "NaN") num = 0;
+                counts[index].value = num;
+            }
+        });
+    </script>
+</body>
+</html>

+ 316 - 0
src/main/webapp/WEB-INF/jsp/shoppingShow.jsp

@@ -0,0 +1,316 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: 叶本泽
+  Date: 2021/12/27
+  Time: 17:19
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java"  pageEncoding="UTF-8" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+<%
+    String path = request.getContextPath();
+    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;
+%>
+<jsp:include page="head.jsp"></jsp:include>
+<!DOCTYPE html>
+<html>
+
+<head>
+    <base href="<%=basePath%>">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title>漫步时尚广场</title>
+    <link href="css/style.css" rel="stylesheet" type="text/css">
+
+    <style type="text/css">
+        .pic_title {
+            background: #ff9c01;
+            line-height: 40px;
+            text-indent: 20px;
+            text-align: left;
+            width: 680px;
+            float: left;
+            color: #fff;
+            margin: 0 10px 10px
+        }
+
+        .pic_list {
+            float: left
+        }
+
+        .pic_list dl {
+            float: left;
+            width: 152px;
+            margin: 010px 10px
+        }
+
+        .pic_list dl img {
+            padding: 5px;
+            border: 1px solid #ccc;
+            margin-bottom: 10px
+        }
+
+        .pic_list dl dd {
+            float: left
+        }
+
+        .right_nav {
+            width: 280px;
+            border: 1px solid #eee;
+            float: right
+        }
+
+        .shop_pic li {
+            float: left;
+            margin: 0 3px;
+        "font-style:normal;" class="hljs-number">20px
+        }
+
+        .shop_pic li p {
+            text-align: center;
+            color: gray
+        }
+
+        .shop_pic img {
+            border: 1px solid #ccc
+        }
+
+        .shop_pic img:hover {
+            border: 1px solid #f60
+        }
+    </style>
+</head>
+<!--logo和banner start-->
+<table width="1200" border="0" cellspacing="0" cellpadding="0" align="center">
+    <tr>
+        <td height="95">
+            <a href="<%=basePath%>/index"><img src="images/logo.jpg"></a>
+        </td>
+        <td align="right"> <img src="images/banner.jpg"></td>
+    </tr>
+</table>
+<!--logo和banner end-->
+<!--菜单导航 start-->
+<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#ce2626">
+    <tr>
+        <td>
+            <table width="1200" border="0" cellspacing="0" cellpadding="4" align="center" class="nav_font16">
+                <tr>
+                    <td width="200">&nbsp;</td>
+                    <td width="80" align="center" class="nav_active"> <a href="<%basePath%>/index" class="white">首页</a></td>
+                    <td width="100" align="center"><a href="<%=basePath%>/showNew" class="white">最新上架</a></td>
+                    <td width="100" align="center">品牌活动</td>
+                    <td width="100" align="center">原厂直供</td>
+                    <td width="80" align="center">团购</td>
+                    <td width="100" align="center">限时抢购</td>
+                    <td width="100" align="center">促销打折</td>
+                    <td width="200" align="center">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table>
+<!--菜单导航 end-->
+<!--中间部分 start-->
+<table width="1200" border="0" align="center" cellpadding="0" cellspacing="0" class="padding-top">
+    <tr>
+        <td width="220" valign="top">
+            <!--购物分类 start-->
+            <table width="100%" border="0" cellspacing="1" cellpadding="0" class="table1" bgcolor="#e5e4el">
+                <c:forEach items="${goodsType}" var="goodt">
+                <tr>
+                    <th><a href="<%=basePath%>/shoppingShow?goodTypeId=${goodt.id}">${goodt.typenane}</a></th>
+                </tr>
+                <c:forEach items="${goodt.subType}" var="st">
+                </tr>
+                    <%-- <th><a href="<%=basePath%>/shoppingShow?goodTypeId=${st.id}”>${st.typename}</a>
+                        </th> --%>
+                <td><span class="red_dot"></span>
+                    <a href="<%=basePath%>/shoppingShow?goodTypeId=${st.id}">${st.typename}</a>
+                    <img src="images/arrow_r.jpg” align=“right">
+                </td>
+                <tr>
+                    </c:forEach>
+                    </c:forBach>
+            </table>
+            <!--购物分类end-->
+        </td>
+        <td width="716" valign="top">
+            <table>
+                <tr>
+                    <td align="center">
+                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
+                            <h1 class="pic_title">${goodType.typename } </h1>
+                            <div class="pic_list">
+                                <c:forEach items="${goodlist}" var="good">
+                                    <d1>
+                                        <div><img id="${good.id}" src="images/shopshow/${good.gpicture}" /></div>
+                                        <dt><span class="price">¥${good.grprice}元</span>
+                                            <span class="font12">${good.saleNum} 人购买</span></dt>
+                                        <dd>${good.contents}</dd>
+                                    </d1>
+                                </c:forEach>
+                            </div>
+                        </table>
+                    </td>
+                    <td valign="top" width="20%">
+
+                    </td>
+                </tr>
+            </table>
+
+        </td>
+    </tr>
+    <!--底部 start-->
+    <Br/>
+</table>
+<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#6a6665" height="35" class="foot_bg">
+    <tr>
+        <td class="padding-top">
+            <table width="1200" border="0" align="center" cellpadding="0" cellspacing="0">
+                <tr>
+                    <td width="20%" align="center"><img src="images/gray1.jpg"></td>
+                    <td width="20%" align="center"><img src="images/gray2.jpg"></td>
+                    <td width="20%" align="center"><img src="images/gray3.jpg"></td>
+                    <td width="20%" align="center"><img src="images/gray4.jpg"></td>
+                    <td width="20%" align="center"><img src="images/gray5.jpg"></td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+    <tr>
+        <td bgcolor="#efefef" class="foot_line padding-top">
+            <table width="1200" border="0" cellspacing="0" cellpadding="0" align="center">
+                <tr>
+                    <td align="center" valign="top"><img src="images/red1.jpg"><br>
+                        <img src="images/linel.jpg" /></td>
+                    <td width="15%" valign="top">
+                        <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
+                            <tr>
+                                <td class="font16 padding-botton">新手指导</td>
+                            </tr>
+                            <tr>
+                                <td>用户注册</td>
+                            </tr>
+                            <tr>
+                                <td>电话下单</td>
+                            </tr>
+                            <tr>
+                                <td>购物流程</td>
+                            </tr>
+                            <tr>
+                                <td>购物保障</td>
+                            </tr>
+                            <tr>
+                                <td>服务协议</td>
+                            </tr>
+                        </table>
+                    </td>
+                    <td align="center" valign="top"><img src="images/red2.jpg"><br>
+                        <img src="images/linel.jpg" /></td>
+                    <td width=“15%” valign="top">
+                        <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
+                            <tr>
+                                <td class="font16 padding-bottom">支付方式</td>
+                            </tr>
+                            <tr>
+                                <td>货到付款</td>
+                            </tr>
+                            <tr>
+                                <td>商城卡支付</td>
+                            </tr>
+                            <tr>
+                                <td>支付宝、网银支付</td>
+                            </tr>
+                            <tr>
+                                <td>优惠券抵用</td>
+                            </tr>
+                        </table>
+                    <td align="center" valign="top"><img src="images/red3.jpg"><br>
+                        <img src="images/linel.jpg" /></td>
+                    <td width="15%" valign="top">
+                        <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
+                            <tr>
+                                <td>闪电发货</td>
+                            </tr>
+                            <tr>
+                                <td>满百包邮</td>
+                            </tr>
+                            <tr>
+                                <td>配送范围及时间</td>
+                            </tr>
+                            <tr>
+                                <td>商品验收及签收</td>
+                            </tr>
+                            <tr>
+                                <td>服务协议</td>
+                            </tr>
+                        </table>
+                    </td>
+                    <td align="center" valign="top"><img src="images/red4.jpg"><br>
+                        <img src="images/linel.jpg" /></td>
+                    <td width="15%" valign="top">
+                        <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
+                            <tr>
+                                <td class="font16 padding-bottom">售后服务</td>
+                            </tr>
+                            <td>退换货协议</td>
+                            </tr>
+                            <tr>
+                                <td>关于发票</td>
+                            </tr>
+                            <tr>
+                                <td>退换货流程</td>
+                            </tr>
+                            <tr>
+                                <td>退换货运费</td>
+                            </tr>
+                        </table>
+                    </td>
+                    <td align="center" valign="top"><img src="images/red5.jpg"><br>
+                        <img src="images/linel.jpg" /></td>
+                    <td width="15%" valign="top">
+                        <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
+                            <tr>
+                                <td class="font16 padding-bottom">关于帐号</td>
+                            </tr>
+                            <tr>
+                                <td>修改个人信息</td>
+                            </tr>
+                            <tr>
+                                <td>修改密码</td>
+                            </tr>
+                            <tr>
+                                <td>找回密码</td>
+                            </tr>
+                        </table>
+                    </td>
+                    <td align="center" valign="top"><img src="images/red6.jpg"><br>
+                        <img src="images/linel.jpg" /></td>
+                    <td width="15%" valign="top">
+                        <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
+                            <tr>
+                                <td class="font16 padding-bottom">优惠活动</td>
+                            </tr>
+                            <tr>
+                                <td>竞拍须知</td>
+                            </tr>
+                            <tr>
+                                <td>抢购须知</td>
+                            </tr>
+                        </table>
+                    </td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+    <tr>
+        <td bgcolor="#efefef" align="center" class="padding-top">Copyright 2015-2020 0- Walking Fashion E&S 漫步时尚广场(QST教育)版权所 有
+            <Br/> 中国青岛 高新区河东路8888号 青软教育集团 咨询热线:400-658-0166 400-658-1022<br/>
+            <img src="images/foot_pic.jpg"></td>
+    </tr>
+</table>
+<!--底部end-->
+
+</body>
+
+</html>

+ 7 - 0
src/main/webapp/WEB-INF/web.xml

@@ -0,0 +1,7 @@
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd" >
+
+<web-app>
+  <display-name>Archetype Created Web Application</display-name>
+</web-app>

+ 164 - 0
src/main/webapp/css/CartCss.css

@@ -0,0 +1,164 @@
+
+body{
+    /* background-color: transparent; */
+    position: relative;
+    margin: 0;
+    font-family: 'Harmony SC';
+    min-height: 100px;
+    background-color: whitesmoke;
+}
+
+form
+{
+    border-radius: 10px;
+    /* position: relative; */
+    width: 100%;
+    min-height: 100px;
+    /* min-width: 500px; */
+}
+form>div.Store
+{
+    position: relative;
+    margin-top: 10px;
+    margin-left: 15px;
+    margin-right: 15px;
+    border-radius: 10px;
+    background-color: white;
+    font-size: 16px;
+    overflow: hidden;
+}
+/* div#Cartlist>div.Store:last-child
+{
+    margin-bottom: 0;
+} */
+form>div.Store>*{
+    border-bottom: 1px solid gainsboro;
+}
+
+form>div.Store>*:last-child{
+    border-bottom: 0;
+}
+
+form>div.Store>a#lable
+{
+    height: 48px;
+    line-height: 48px;
+    display: flex;
+    justify-items: center;
+    overflow: hidden;
+    background-color: transparent;
+}
+form>div.Store>a#lable>input
+{
+    height: 24px;
+    width: 24px;
+    margin: 12px;
+    margin-left: calc(1ch + 12px);
+}
+form>div.Store>a#lable>div#StoreIcon
+{
+    height: 40px;
+    width: 40px;
+    margin: 4px;
+    margin-left: calc(1ch + 4px);
+    text-align: center;
+}
+form>div.Store>a#lable>div#StoreIcon>img
+{
+    max-width: 100%;
+    max-height: 100%;
+}
+form>div.Store>a#lable>h3
+{
+    margin: 0;
+}
+
+form>div.Store>div.goods{
+    height: 96px;
+    display: flex;
+    justify-items: center;
+    overflow: hidden;
+    background-color:transparent;
+}
+form>div.Store>div.goods>input{
+    height: 24px;
+    min-width: 24px;
+    margin: 36px;
+    margin-left: calc(1ch + 12px);
+    margin-right: calc(1ch + 12px);
+}
+form>div.Store>div.goods>div#GoodsIcon
+{
+    height: 88px;
+    min-width: 88px;
+    margin: 4px;
+    margin-left: calc(1ch + 4px);
+    text-align: center;
+}
+form>div.Store>div.goods>div#GoodsIcon>img
+{
+    max-width: 100%;
+    max-height: 100%;
+}
+form>div.Store>div.goods>div#exp
+{
+    position: relative;
+    margin: 8px;
+    height: 80px;
+    width: 100%;
+    min-width: 200px;
+}
+form>div.Store>div.goods>div#exp>*
+{
+    width: 100%;
+    margin: 0;
+}
+form>div.Store>div.goods>div#exp>div#count
+{
+    position: absolute;
+    width: 25%;
+    min-width: 16ch;
+    height: 24px;
+    border-radius: 10px;
+    border: 1px solid gray;
+    margin: 0;
+    bottom: 0;
+    right: 0;
+    display: flex;
+    overflow: hidden;
+}
+form>div.Store>div.goods>div#exp>div#count>*{
+    width: 100%;
+    height: 100%;
+    margin: 0;
+    padding: 0;
+    border: 0;
+    outline: 1px solid gray;
+    text-align: center;
+    background-color: white;
+    user-select: none;
+}
+form>div.Store>div.goods>div#exp>div#count>*:hover
+{
+    background-color: gainsboro;
+}
+form>div.Store>div.goods>div#exp>div#count>*:active
+{
+    background-color: gray;
+}
+
+form>div#BottomBar
+{
+    position: fixed;
+    right: 0;
+    bottom: 0;
+    width: 100%;
+
+}
+
+
+@font-face
+{
+    font-family: 'Harmony SC';
+    src: url(../font/HarmonyOS_Sans_SC_Medium.ttf);
+}

+ 156 - 0
src/main/webapp/css/loginPage.css

@@ -0,0 +1,156 @@
+* {
+    margin: 0;
+    padding: 0;
+    list-style-type: none;
+    box-sizing: border-box;
+    text-decoration: none;
+}
+
+div {}
+
+.biggestBox {
+    height: 100vh;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
+
+.log-Page {
+    border: 1px solid rgb(218, 220, 224);
+    min-width: 448px;
+    height: auto;
+    padding: 48px 40px 36px 40px;
+}
+
+.log-Page>h1:nth-child(1) {
+    color: rgb(254, 152, 2);
+    font-size: 25px;
+    font-weight: 400;
+    text-align: center;
+}
+
+.log-Page>h1:nth-child(2) {
+    text-align: center;
+    color: #202124;
+    padding-bottom: 0;
+    padding-top: 16px;
+    font-family: 'Google Sans', 'Noto Sans Myanmar UI', arial, sans-serif;
+    font-size: 24px;
+    font-weight: 400;
+    line-height: 1.3333;
+    margin-bottom: 0;
+    margin-top: 0;
+}
+
+.keepOn {
+    display: flex;
+    justify-content: center;
+    color: #202124;
+    font-size: 16px;
+    font-weight: 400;
+    letter-spacing: 0.1px;
+    line-height: 1.5;
+    padding-bottom: 0;
+    padding-top: 8px;
+}
+
+.inputStuff {
+    padding-top: 24px;
+}
+
+.input-email {
+    padding-top: 8px;
+}
+
+.input-email>input {
+    width: 100%;
+    padding: 13px 15px;
+    height: 54px;
+    border-radius: 4px;
+    color: #202124;
+    font-size: 17px;
+    margin: 1px 1px 0 1px;
+    z-index: 1;
+    border: 1px solid #ccc;
+}
+
+.input-email div {
+    padding: 9px 0px 3px 0px;
+    color: rgb(254, 152, 2);
+}
+
+.password {
+    display: flex;
+    justify-content: space-between;
+}
+
+.input-password {
+    padding-top: 30px;
+}
+
+.input-password>input {
+    width: 100%;
+    padding: 13px 15px;
+    height: 54px;
+    border-radius: 4px;
+    color: #202124;
+    font-size: 17px;
+    margin: 1px 1px 0 1px;
+    z-index: 1;
+    border: 1px solid #ccc;
+}
+
+.input-password div:nth-of-type(2) {
+    padding: 10px 0px 3px 0px;
+    color: rgb(254, 152, 2);
+}
+
+.checkPassword {
+    position: relative;
+    padding-top: 10px;
+}
+
+.checkPassword input {
+    position: relative;
+    top: 3.5px;
+    width: 18px;
+    height: 18px;
+}
+
+.checkPassword p {
+    display: inline-block;
+}
+
+.lastBox {
+    font-size: 14px;
+    display: flex;
+    margin-top: 40px;
+}
+
+.register {
+    display: flex;
+    align-items: center;
+    width: calc(50% - 1px);
+}
+
+.register>div {
+    height: 14px;
+    color: rgb(254, 152, 2);
+    padding: 0 8px;
+}
+
+.logConfirm {
+    width: calc(50% - 1px);
+}
+
+.logConfirm>div {
+    width: 90px;
+    height: 48px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    float: right;
+    background-color: rgb(254, 152, 2);
+    border-radius: 4px;
+    color: white;
+}

+ 126 - 0
src/main/webapp/css/register.css

@@ -0,0 +1,126 @@
+* {
+    margin: 0;
+    padding: 0;
+    list-style-type: none;
+    box-sizing: border-box;
+    text-decoration: none;
+}
+
+div {}
+
+.biggestBox {
+    height: 100vh;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
+
+.reg-Page {
+    border: 1px solid rgb(218, 220, 224);
+    min-width: 448px;
+    height: auto;
+    padding: 48px 40px 36px 40px;
+}
+
+.reg-Page>h1 {
+    padding-top: 16px;
+    font-size: 24px;
+    font-weight: 400;
+    color: #202124;
+}
+
+.reg-Page>h1>p {
+    color: rgb(254, 152, 2);
+    display: inline;
+}
+
+.keepOn {
+    padding-top: 8px;
+    color: #202124;
+    font-size: 16px;
+    font-weight: 400;
+    letter-spacing: 0.1px;
+    line-height: 1.5;
+}
+
+.inputStuff {}
+
+.inputStuff input {
+    display: inline-block;
+    width: 100%;
+    padding: 7px 9px;
+    border: 1px solid #ccc;
+    border-radius: 4px;
+}
+
+.logo {
+    color: rgb(254, 152, 2);
+    font-size: 30px;
+}
+
+.firBox {
+    padding: 24px 0 0;
+}
+
+.secBox {
+    padding: 24px 0 0;
+}
+
+.warning {
+    margin-left: 10px;
+    padding-top: 4px;
+    font-size: 13px;
+    color: #5f6368;
+}
+
+.checkPassword {
+    position: relative;
+    padding-top: 10px;
+}
+
+.checkPassword input {
+    position: relative;
+    top: 3.5px;
+    width: 18px;
+    height: 18px;
+}
+
+.checkPassword p {
+    display: inline-block;
+}
+
+.lastBox {
+    font-size: 14px;
+    display: flex;
+    margin-top: 40px;
+}
+
+.sign-in {
+    display: flex;
+    align-items: center;
+    width: calc(50% - 1px);
+}
+
+.sign-in>div {
+    height: 14px;
+    color: rgb(254, 152, 2);
+    padding: 0 8px;
+}
+
+.sign-in>div>span {}
+
+.regConfirm {
+    width: calc(50% - 1px);
+}
+
+.regConfirm>div {
+    width: 90px;
+    height: 48px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    float: right;
+    background-color: rgb(254, 152, 2);
+    border-radius: 4px;
+    color: white;
+}

BIN
src/main/webapp/font/HarmonyOS_Sans_SC_Medium.ttf


+ 5 - 0
src/main/webapp/index.jsp

@@ -0,0 +1,5 @@
+<html>
+<body>
+<h2>Hello World!</h2>
+</body>
+</html>

+ 73 - 0
src/main/webapp/loginPage.html

@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link rel="stylesheet" href=".CSS/loginPage.css">
+    <title>Document</title>
+</head>
+
+
+<body>
+    <div class="biggestBox">
+        <div class="log-Page">
+            <h1>E&S</h1>
+            <h1>登录</h1>
+            <div class="keepOn">
+                <span>继续浏览商品</span>
+            </div>
+            <div class="inputStuff">
+                <div class="input-email">
+                    <input type="email" placeholder="电子邮件地址">
+                    <div>
+                        <span>忘记了电子邮件地址?</span>
+                    </div>
+                </div>
+
+                <div class="input-password">
+
+                    <input type="password" placeholder="密码">
+
+                    <div class="password">
+
+                        <div class="checkPassword">
+                            <input type="checkbox">
+                            <p>显示密码</p>
+                        </div>
+
+                        <div class="forget">
+                            <span>忘记密码</span>
+                        </div>
+
+                    </div>
+
+
+
+
+                </div>
+            </div>
+
+            <div class="lastBox">
+
+                <div class="register">
+                    <div>
+                        <span>创建账号</span>
+                    </div>
+
+                </div>
+
+                <div class="logConfirm">
+                    <div>
+                        <span>下一步</span>
+                    </div>
+                </div>
+
+            </div>
+
+        </div>
+    </div>
+</body>
+
+</html>

+ 80 - 0
src/main/webapp/register.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link rel="stylesheet" href=".CSS/register.css">
+    <title>Document</title>
+</head>
+
+
+<body>
+    <div class="biggestBox">
+        <div class="reg-Page">
+
+            <div class="logo">E&S</div>
+
+            <h1>
+                创建您的
+                <p>E&S</p> 账号
+            </h1>
+
+            <div class="keepOn">
+                <span>继续浏览商品</span>
+            </div>
+
+
+            <div class="inputStuff">
+
+                <div class="firBox">
+                    <div class="email">
+                        <input type="email" placeholder="您的电子邮件地址">
+                    </div>
+                    <div class="warning">您需要证实此电子邮件地址属于您。</div>
+                </div>
+
+                <div class="secBox">
+                    <div class="passWord">
+                        <input type="password" placeholder="密码">
+                    </div>
+                    <div class="warning">使用 8 个或更多字符(字母、数字和符号的组合)</div>
+                </div>
+
+
+            </div>
+
+            <div class="checkPassword">
+                <input type="checkbox">
+                <p>显示密码</p>
+            </div>
+
+
+            <div class="lastBox">
+
+                <div class="sign-in">
+                    <div>
+                        <span>登录现有账号</span>
+                    </div>
+
+                </div>
+
+                <div class="regConfirm">
+                    <div>
+                        <span>下一步</span>
+                    </div>
+                </div>
+
+            </div>
+
+
+        </div>
+
+    </div>
+
+
+
+</body>
+
+</html>