Javaweb商城项目大作业

8 篇文章 13 订阅
订阅专栏

Javaweb商城项目大作业

 如果你是入门Javaweb,那么这个商城项目就将会是个不错的入门选择,总代码以及素材附在文章底下百度网盘中。

ps:如报错,需根据自己的背景路径位置自行调整!!!

首先我们来看一下效果图

productlist页面:
 

productadd页面:


productedit页面:

 

************************************************************************************************************

下面附上代码:

1 数据库准备
创建商品数据库表: product

DROP TABLE IF EXISTS product;
CREATE TABLE product (
product_id int(11) PRIMARY KEY AUTO_INCREMENT COMMENT '产品id',
product_name varchar(63) DEFAULT NULL COMMENT '产品名称',
product_type varchar(2) DEFAULT NULL COMMENT '产品类型: 1-通讯,2-视频,3-家电',
can_sale varchar(2) DEFAULT NULL COMMENT '是否上架销售: 0-否,1-是',
manufacturer varchar(50) DEFAULT NULL COMMENT '生产厂家'
);

2 项⽬创建及配置
2.1 添加项⽬依赖
在pom.xml⽂件,添加依赖,确保有以下内容的依赖
1、 spring framework 全套组件
2、 aspectjrt (AOP实现)
3、 mybatis
4、 mybatis-spring
5、 servlet-api
6、 jsp-api
7、 jstl
8、 mysql驱动
 

<?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.ws</groupId>
  <artifactId>springmvcwebstudy</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>springmvcwebstudy 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.8
    </maven.compiler.source>
    <maven.compiler.target>
      1.8
    </maven.compiler.target>
  </properties>

  <repositories>
    <repository>
      <id>aliyun</id>
      <name>aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </repository>
  </repositories>


  <dependencies>
    <!--spring core:Spring的核心工具包-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
    </dependency>
    <!--spring-beans:Spring IOC的基础实现,包含访问配置文件、创建和管理bean等-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
    </dependency>
    <!-- spring context:在基础IOC功能上提供扩展服务,-->
    <!-- 提供许多企业级服务的支持,如任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持等-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
    </dependency>
    <!-- spring-context-indexer -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-indexer</artifactId>
    </dependency>
    <!--spring-context-support:Spring context的扩展支持,用于MVC方面-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
    </dependency>
    <!--spring aop:Spring的面向切面编程,提供AOP(面向切面编程)的实现-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
    </dependency>
    <!-- spring aspect:Spring提供的对AspectJ框架的整合-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
    </dependency>
    <!-- spring expression:Spring表达式语言-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
    </dependency>

    <!--spring instrument:Spring对服务器的代理接口-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-instrument</artifactId>
    </dependency>

    <!--spring orm:Spring对于Java Object/XML映射的支持,可以让Java与XML之间来回切换-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
    </dependency>
    <!--spring jdbc:对JDBC 的简单封装-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
    </dependency>
    <!--spring oxm-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
    </dependency>
    <!--spring tx:为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
    </dependency>

    <!--spring web:支持Web应用开发-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
    </dependency>
    <!--spring mvc:包含SpringMVC框架相关的所有类-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
    </dependency>

    <!-- aspectjrt:一个AOP第三方实现 -->
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjrt</artifactId>
      <version>1.9.6</version>
    </dependency>

    <!-- mysql-connector-java:MySQL驱动 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.12</version>
    </dependency>

    <!-- HikariCP:第三方数据库连接池 -->
    <dependency>
      <groupId>com.zaxxer</groupId>
      <artifactId>HikariCP</artifactId>
      <version>3.4.2</version>
    </dependency>
    <!--HikariCP用到的日志框架-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.7.25</version>
      <scope>compile</scope>
    </dependency>

    <!-- commons-dbcp2:第三方数据库连接池 -->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-dbcp2</artifactId>
      <version>2.7.0</version>
    </dependency>

    <!-- c3p0:第三方数据库连接池 -->
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.5</version>
    </dependency>

    <!-- mybatis:ORM框架,访问数据库的封装 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.6</version>
    </dependency>

    <!-- mybatis-spring:mybatis与spring的集成 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>2.0.5</version>
    </dependency>

    <!-- servlet-api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <!--容器提供的jar。开发用到,运行时不需要打包进应用-->
      <scope>provided</scope>
    </dependency>
    <!-- jsp-api -->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.3</version>
      <!--容器提供的jar。开发用到,运行时不需要打包进应用-->
      <scope>provided</scope>
    </dependency>
    <!-- jstl -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!-- hibernate-validator -->
    <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>6.1.6.Final</version>
    </dependency>
    <!-- commons-fileupload -->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.3</version>
    </dependency>

    <!-- jackson-annotations -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.11.3</version>
    </dependency>
    <!-- jackson-core -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.11.3</version>
    </dependency>
    <!-- jackson-databind -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.11.3</version>
    </dependency>
    <dependency>
      <groupId>org.jetbrains</groupId>
      <artifactId>annotations</artifactId>
      <version>RELEASE</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <!--使用spring-framework-bom统一管理pring-framework的jar包版本-->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-framework-bom</artifactId>
        <version>5.3.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!--其他依赖不要放到这里-->
    </dependencies>
  </dependencyManagement>


  <build>
    <finalName>springmvcwebstudy</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>

    <resources>
      <!--资源编译输出-->
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.*</include>
        </includes>
      </resource>
    </resources>
  </build>
</project>

2.2 创建java包结构
在src/main/java下,创建包:
com.hbxy.ssm.prodect(存放产品管理模块的所有代码)
com.hbxy.ssm.prodect.model (存放模型类)
com.hbxy.ssm.prodect.dao (存放内部实现的mapper接⼝)
com.hbxy.ssm.prodect.mapper (存放mapper映射⽂件)
com.hbxy.ssm.prodect.service (存放对外提供的服务接⼝)
com.hbxy.ssm.prodect.service.impl (存放服务接⼝的实现)
com.hbxy.ssm.prodect.controller (存放mvc模型中的控制器)
2.3 创建jsp⽬录
在src/main/webapp⽬录下,创建static⽬录,在static下创建:
css (存放样式⽂件)
js (存放js⽂件)
img (存放图⽚资源⽂件)
3 创建相关Java业务类
3.1 创建模型类
在包com.hbxy.ssm.product.model中创建Product.java类
 

package com.ws.ssm.product.model;

public class Product {
    private int productId;
    private String productName;
    private String productType;
    private String canSale;
    private String manufacturer;

    public int getProductId() {
        return productId;
    }

    public void setProductId(int productId) {
        this.productId = productId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getCanSale() {
        return canSale;
    }

    public void setCanSale(String canSale) {
        this.canSale = canSale;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    @Override
    public String toString() {
        return "Product{" +
                "productId=" + productId +
                ", productName='" + productName + '\'' +
                ", productType='" + productType + '\'' +
                ", canSale='" + canSale + '\'' +
                ", manufacturer='" + manufacturer + '\'' +
                '}';
    }
}

3.2 创建Mapper接⼝类
在包com.hbxy.ssm.product.dao中,创建ProductMapper.java接⼝

package com.ws.ssm.product.dao;

import com.ws.ssm.product.model.Product;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface ProductMapper {
    public void addProduct(Product product);

    public void deleteProduct(int productId);

    public void deleteProductAll();

    public void updateProduct(Product product);

    public Product findProductById(int productId);

    public List<Product> findAllProduct();
}

3.3 创建Mapper映射⽂件
在包com.hbxy.ssm.product.mapper中,创建ProductMapper.xml⽂件
 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ws.ssm.product.dao.ProductMapper">
    <resultMap id="productResult" type="product">
        <id column="product_id" property="productId" jdbcType="INTEGER"/>
        <id column="product_name" property="productName" jdbcType="VARCHAR"/>
        <id column="product_type" property="productType" jdbcType="VARCHAR"/>
        <id column="can_sale" property="canSale" jdbcType="VARCHAR"/>
        <id column="manufacturer" property="manufacturer" jdbcType="VARCHAR"/>
    </resultMap>

    <insert id="addProduct" parameterType="product">
        insert into product(product_name,product_type,can_sale,manufacturer)
        values(#{productName},#{productType},#{canSale},#{manufacturer});
    </insert>

    <delete id="deleteProduct" parameterType="INTEGER">
        delete from product
        where product_id=#{productId};
    </delete>

    <delete id="deleteProductAll">
        delete from product;
    </delete>

    <update id="updateProduct" parameterType="product">
        update product
        set product_name=#{productName},product_type=#{productType},can_sale=#{canSale},manufacturer=#{manufacturer}
        where product_id=#{productId};
    </update>

    <select id="findProductById" parameterType="INTEGER" resultMap="productResult">
        select * from product
        where product_id=#{productId};
    </select>

    <select id="findAllProduct" resultMap="productResult">
        select * from product;
    </select>
</mapper>

3.4 创建服务接⼝
在包com.hbxy.ssm.product.service中,创建ProductService.java接⼝
 

package com.ws.ssm.product.service;

import com.ws.ssm.product.model.Product;

import java.util.List;

public interface ProductService {
    public void addProduct(Product product);

    public void deleteProduct(int productId);

    public void deleteProductAll();

    public void updateProduct(Product product);

    public Product findProductById(int productId);

    public List<Product> findAllProduct();

}

3.5 创建服务实现类
在包com.hbxy.ssm.product.service.impl中,创建ProductServiceImpl.java类
 

package com.ws.ssm.product.service.impl;

import com.ws.ssm.product.dao.ProductMapper;
import com.ws.ssm.product.model.Product;
import com.ws.ssm.product.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProductServiceImpl implements ProductService {

    @Autowired
    private ProductMapper mapper;

    @Override
    public void addProduct(Product product) {
        mapper.addProduct(product);
    }

    @Override
    public void deleteProduct(int productId) {
        mapper.deleteProduct(productId);
    }

    @Override
    public void updateProduct(Product product) {
        mapper.updateProduct(product);
    }

    @Override
    public Product findProductById(int productId) {
        return mapper.findProductById(productId);
    }

    @Override
    public List<Product> findAllProduct() {
        return mapper.findAllProduct();
    }

    @Override
    public void deleteProductAll(){ mapper.deleteProductAll(); }
}

3.6 创建控制器
在包com.hbxy.ssm.product.controller中,创建ProductController.java类
 

package com.ws.ssm.product.controller;

import com.ws.ssm.product.model.Product;
import com.ws.ssm.product.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.List;

@Controller /*控制器类*/
public class ProductController {
    @Autowired  /*自动装配,将spring容器中的bean自动和Product类中bean组装到一起*/
    private ProductService productService;

    @GetMapping("/productlist") /*将 HTTP GET 请求映射到特定的处理程序方法*/
    public String productList(Model model){
        //调⽤服务接⼝,获得数据
        List<Product> list = productService.findAllProduct();
        //把数据放进model,传递给⻚⾯展现
        model.addAttribute("productlist",list);
        //跳转到展现⻚⾯
        return "/jsp/product/product_list";
    }

    @GetMapping("/toproductadd")
    public String toProductAdd(Model model){
        //跳转到添加⻚⾯
        return "/jsp/product/product_add";
    }

    @PostMapping("/productadd")
    public String productAdd(Product product, Model model){
        //调⽤服务接⼝,添加数据
        productService.addProduct(product);
        //重定向到列表url
        return "redirect:productlist";
    }

    @GetMapping("/toproductedit")
    public String toProductEdit(int productId,Model model) {
        //调⽤服务接⼝,通过id查询获得数据
        Product product = productService.findProductById(productId);
        //把数据放进model,传递给⻚⾯展现
        model.addAttribute("product", product);
        //跳转到修改⻚⾯
        return "/jsp/product/product_edit";
    }

    @PostMapping("/productedit")
    public String productEdit(Product product, Model model){
        //调⽤服务接⼝,更新数据
        productService.updateProduct(product);
        //重定向到列表url
        return "redirect:productlist";
    }

    @RequestMapping("/productdelete")
        public String productDelete(int productId){
        //调⽤服务接⼝,删除

        productService.deleteProduct(productId);
        //重定向到列表url
        return "redirect:productlist";
    }

    @RequestMapping("/productdeleteall")
    public String productDeleteAll(){
        productService.deleteProductAll();
        return "redirect:productlist";
    }
}

4 创建jsp⻚⾯
在webapp/jsp/party⽂件夹中,创建三个jsp⻚⾯。在webapp/static/css⽂件夹中创建对应的css文件
4.1 product_list.jsp和product_list.css

<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2021/6/11
  Time: 12:22
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c"
           uri="http://java.sun.com/jsp/jstl/core" %>
<html>
    <head>
        <title>产品列表</title>
        <link rel="stylesheet" type="text/css" href="../../static/css/product_list.css">
    </head>
    <body>
    <header>产品管理系统</header>
    <nav>	<!--导航链接部分-->
        <a href="" style="color: #ff6700;border-bottom: 3px solid #FF6700;">产品目录</a>	<!--这样有一个在该页面的感觉-->
        <a onclick="jumpadd()">添加产品</a>
        <button class="deleteAll" onclick="deleteAll()">全部删除</button>
    </nav>
    <div class="showcase">
        <c:forEach var="product" items="${productlist}" varStatus="varstatus">
            <a onclick="jumpedit(${product.productId})" >
                <div>
                    <c:if test="${product.productType==1}">
                        <img src="../../static/img/phone.jpg" style="width: 100%;height: 100%">
                    </c:if>
                    <c:if test="${product.productType==2}">
                        <img src="../../static/img/tv.jpg" style="width: 100%;height: 100%">
                    </c:if>
                    <c:if test="${product.productType==3}">
                        <img src="../../static/img/air-conditioning%20.jpg" style="width: 100%;height: 100%">
                    </c:if>
                </div>
            <div class="detail">
                <c:out value="${varstatus.index+1}"/>
                    ${product.productName}

                <c:if test="${product.productType=='1'}">通讯</c:if>
                <c:if test="${product.productType=='2'}">视频</c:if>
                <c:if test="${product.productType=='3'}">家电</c:if>

                <c:if test="${product.canSale=='0'}">否</c:if>
                <c:if test="${product.canSale=='1'}">是</c:if>
                    ${product.manufacturer}
            </div>
        </a>
            <input type="button" class="btnDel" value="删除"
                   onclick="del(${product.productId})">
        </c:forEach>
    </div>
    <footer>备案号\班级姓名:计科1905王烁</footer>	<!--页脚-->

    <script>
        function jumpadd() {
            window.location.href
                ="${pageContext.request.contextPath}/toproductadd";
        }
        function jumpedit(id) {
            window.location.href
                ="${pageContext.request.contextPath}/toproductedit?productId=" + id;
        }
        function del(id) {
            if(confirm("要删除该数据吗?")){
                window.location.href
                    ="${pageContext.request.contextPath}/productdelete?productId=" + id;
            }
        }
        function deleteAll() {
            if(confirm("要删除该全部数据吗?")){
                window.location.href
                    ="${pageContext.request.contextPath}/productdeleteall";
            }
        }
    </script>
    </body>
</html>
body{
    margin: 0;
    background-color: #f5f5f5;

    display: flex;		/*一种布局方式*/
    flex-direction: column;
    height: 100%;
    /*用flex化空间需要父元素有具体的尺寸*/
    background-image: url(../img/background.jpg);
}

a{
    text-decoration: none;
    color: black;
}
a:hover{
    cursor: pointer;
}
header{
    height: 40px;
    flex-shrink: 0;	/*flex布局防止被挤压,子元素宽度减小*/
    padding-bottom: 20px;
    font-size: 40px;
    margin: 0 auto;
    color: black;
    margin-top: 40px;
    margin-bottom:20px
}

nav{
    border-bottom: 1px solid #e6e6e6;
    height: 80px;

    display: flex;
    justify-content: center;
}
nav a{
    text-decoration: none;	/*去下划线*/
    font-size: 20px;
    color: #000000;
    padding: 30px 20px;
    margin: 0 20px;
    /*调整内外边距,有种线分开的感觉*/
}
nav a:hover{
    color: #ff6700;
    border-bottom: 3px solid #FF6700;
    transition: all .2s;
}
.deleteAll{
    width: 50px;
    height: 50px;
    font-size: 7px;
    border-radius: 50px;
    margin-top: 20px;
    background-color:white;
    color: black;
    outline: none;  /*去外边框框*/
}
.deleteAll:hover{
    background-color: black;
    color: white;
    font-size: 13px;
    cursor: pointer;
    box-shadow: 0 10px 20px darkgrey;	/*块周围有阴影*/
    transition: all .3s;	/*多个属性变换,过渡效果0.3s*/
    border: red 5px solid;
    outline: none;  //去外边框框
}

.showcase{
    flex-grow: 1;	/*索取父容器的剩余空间*/
    margin-top: 20px;
    /*这里其实是给showcase划了100%(占据header和nav和footer的)的伸缩空间*/


    /*之前的空行也是,为了分开对自己的设置和对子元素的设置,好读*/
    display: flex;
    justify-content: center;	/*弹性项目居中紧挨着填充*/
    flex-wrap: wrap;	/*flex-wrap属性定义,如果一条轴线排不下,如何换行    换行,第一行在上方*/
}
.showcase a{
    width: 270px;
    height: 180px;
    background-color: #ffffff;
    transition: all .3s;
    margin: 20px;
    text-decoration: none;	/*去下划线*/
}
.showcase a:hover{
    transform: translateY(-8px);	/*块向上抖动*/
    box-shadow: 0 10px 20px darkgrey;	/*块周围有阴影*/
    transition: all .3s;	/*多个属性变换,过渡效果0.3s*/
}


.detail{
    background-color: gray;
    text-align: center;
    color: white;
}
.btnDel{
    height: 200px;
    margin-top: 20px;
    transform: translateX(-20px);	/*块向上抖动*/
    cursor:pointer;
}
.btnDel:hover{
    transform: translateX(-25px);	/*块向上抖动*/
    box-shadow: 0 10px 20px darkgrey;	/*块周围有阴影*/
    transition: all .3s;	/*多个属性变换,过渡效果0.3s*/

}

footer{
    text-align: center;
}

4.2 product_add.jsp和product_add.css

<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2021/6/11
  Time: 12:22
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加页面</title>
    <link rel="stylesheet" type="text/css" href="../../static/css/product_list.css">
    <link rel="stylesheet" type="text/css" href="../../static/css/product_add.css">
</head>
<body>
<header>产品管理系统</header>
<nav>	<!--导航链接部分-->
    <a onclick="jumplist()">产品目录</a>
    <a href="" style="color: #ff6700;border-bottom: 3px solid #FF6700;">添加产品</a>	<!--这样有一个在该页面的感觉-->
    <button class="deleteAll" onclick="deleteAll()">全部删除</button>
</nav>

<div class="addcase">
    <form name="frmProduct" class="smart-green" method="post">  <!--get 机密性不高,在url中显示输入的信息-->
        <h1>请添加产品信息</h1>
        <label>
            <span>产品名称 :</span>
            <input id="name" type="text" name="productName"/>
        </label>

        <label>
            <span>产品类型 :</span>
            <select name="productType">
                <option disabled selected>请选择产品类型</option>
                <option value="1">通讯</option>
                <option value="2">视频</option>
                <option value="3">家电</option>
            </select>
        </label>

        <label>
            <span>是否上架 :</span>
            <select name="canSale">
                <option disabled selected>请确认是否上架</option>
                <option value="1">是</option>
                <option value="0">否</option>
            </select>
        </label>

        <label>
            <span>生产厂家: :</span>
            <input id="manufactor" type="text" name="manufacturer"/>
        </label>

        <label>
            <input type="button" class="button" value="添加" onclick="add()"/>
            <input type="reset" class="button" value="重置"/>
        </label>
    </form>
</div>
<footer>备案号\班级姓名:计科1905王烁</footer>	<!--页脚-->
<script>
    function jumplist() {
        window.location.href    /*当前页面打开URL页面*/
            ="${pageContext.request.contextPath}/productlist";  /*部署的应用程序名:http://localhost:8080/*/
    }
    function add() {
        document.frmProduct.action
            = "${pageContext.request.contextPath}/productadd";
        document.frmProduct.submit();   <!--表单提交-->
    }
    function deleteAll() {
        if(confirm("要删除该全部数据吗?")){
            window.location.href
                ="${pageContext.request.contextPath}/productdeleteall";
        }
    }
</script>
</body>
</html>
.addcase{
	margin-top: 30px;
}

 .smart-green {
      margin-left: auto;
      margin-right: auto;
      max-width: 500px;
      background: #F8F8F8;
      padding: 30px 30px 20px 30px;
      font: 12px Arial, Helvetica, sans-serif;
      color: #666;
      border-radius: 5px;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
  }

  .smart-green h1 {
      font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif;
      padding: 20px 0px 20px 40px;
      display: block;
      margin: -30px -30px 10px -30px;
      color: #FFF;
      background: #9DC45F;
      text-shadow: 1px 1px 1px #949494;
      border-radius: 5px 5px 0px 0px;
      -webkit-border-radius: 5px 5px 0px 0px;
      -moz-border-radius: 5px 5px 0px 0px;
      border-bottom: 1px solid #89AF4C;
  }

  .smart-green h1 > span {
      display: block;
      font-size: 11px;
      color: #FFF;
  }

  .smart-green label {
      display: block;
      margin: 0px 0px 5px;
  }

  .smart-green label > span {
      float: left;
      margin-top: 10px;
      color: #5E5E5E;
  }

  .smart-green input[type="text"], .smart-green input[type="email"], .smart-green textarea, .smart-green select {
      color: #555;
      height: 30px;
      line-height: 15px;
      width: 100%;
      padding: 0px 0px 0px 10px;
      margin-top: 2px;
      border: 1px solid #E5E5E5;
      background: #FBFBFB;
      outline: 0;
      -webkit-box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
      box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
      font: normal 14px/14px Arial, Helvetica, sans-serif;
  }

  .smart-green textarea {
      height: 100px;
      padding-top: 10px;
  }


  .smart-green .button {
  	  margin-top: 20px;
  	  margin-left: 110px;
      background-color: #9DC45F;
      border-radius: 5px;
      -webkit-border-radius: 5px;
      -moz-border-border-radius: 5px;
      border: none;
      padding: 10px 25px 10px 25px;
      color: #FFF;
      text-shadow: 1px 1px 1px #949494;
  }

  .smart-green .button:hover {
      background-color: #80A24A;
  }

  .error-msg{
      color: red;
      margin-top: 10px;
  }
  .success-msg{
      color: #80A24A;
      margin-top: 10px;
      margin-bottom: 10px;
  }
  



4.3 product_edit.jsp和product_edit.css

<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2021/6/11
  Time: 12:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c"
           uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <meta charset="UTF-8">
    <title>产品列表</title>
    <link rel="stylesheet" href="../../static/css/product_edit.css"/>
    <link rel="stylesheet" href="../../static/css/product_list.css"/>
    <link rel="stylesheet" href="../../static/css/product_add.css"/>
</head>
<body>
<header>产品管理系统</header>
<nav>    <!--导航链接部分-->
    <a href="" style="color: #ff6700;border-bottom: 3px solid #FF6700;">产品编辑</a>    <!--这样有一个在该页面的感觉-->
</nav>
<div class="editcase">
    <div class="img">
        <c:if test="${product.productType==1}">
            <img src="../../static/img/phone.jpg" style="width: 100%;height: 100%">
        </c:if>
        <c:if test="${product.productType==2}">
            <img src="../../static/img/tv.jpg" style="width: 100%;height: 100%">
        </c:if>
        <c:if test="${product.productType==3}">
            <img src="../../static/img/air-conditioning%20.jpg" style="width: 100%;height: 100%">
        </c:if>
    </div>
    <div class="information">
        <form name="frmProduct" class="smart-green" method="post">
            <h1>请修改产品信息</h1>
            <label>
                <span>产品名称 :</span>
                <input id="name" type="text" name="productName" value="${product.productName}"/>
            </label>

            <label>
                <span>产品类型 :</span>
                <select name="productType">
                    <option value="1"
                            <c:if test="${product.productType=='1'}">
                                selected
                            </c:if>>
                            通讯</option>
                    <option value="2"
                            <c:if test="${product.productType=='2'}">
                                selected
                            </c:if>>
                            视频</option>
                    <option value="3"
                            <c:if test="${product.productType=='3'}">
                                selected
                            </c:if>>
                            家电</option>
                </select>
            </label>

            <label>
                <span>是否上架 :</span>
                <select name="canSale">
                    <option value="1"
                            <c:if test="${product.canSale=='1'}">
                                selected
                            </c:if>>
                        是</option>
                    <option value="0"
                            <c:if test="${product.canSale=='0'}">
                                selected
                            </c:if>>
                        否</option>
                </select>
            </label>

            <label>
                <span>生产厂家: :</span>
                <input id="manufactor" type="text" name="manufacturer" value="${product.manufacturer}"/>
            </label>

            <label>
                <input type="button" class="button" value="修改" onclick="save(${product.productId})"/>
                <input type="reset" class="button" value="返回" onclick="cancel()"/>
            </label>
        </form>
    </div>
</div>
<footer>备案号\班级姓名:计科1905王烁</footer>    <!--页脚-->

<script>
    function cancel() {
        window.location.href
            ="${pageContext.request.contextPath}/productlist";
    }
    function save(id) {
        document.frmProduct.action
            = "${pageContext.request.contextPath}/productedit?productId="+id;
        document.frmProduct.submit();
    }
</script>
</body>
</html>
.editcase{
	margin: 0 auto;
	padding-top: 20px;
	width: 883px;
}
.img{
	width: 436px;
	height: 407px;
	float: left;
}
img{
	width: 100%;
	height: 100%;
	border: 5px solid black;
	border-radius: 50px 0 0 50px;
}
.information{
	float: right;
}

5 创建/修改配置⽂件
5.1 创建/修改MyBatis配置⽂件
在src/main/resources⽬录下,创建mybatis-config.xml⽂件。如果mybatisconfig.xml已存在,则添加
相关模块的mapper.xml⽂件及声明别名
 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--定义别名,可以在mapper.xml使用-->
<typeAliases>
<typeAlias type="com.ws.ssm.product.model.Product" alias="product">
</typeAlias>
<!--定义mapper.xml在哪-->
</typeAliases>
<mappers>
<mapper resource="com/ws/ssm/product/mapper/ProductMapper.xml"/>
</mappers>
</configuration>

5.2 创建/修改Spring配置⽂件
在src/main/resources⽬录下,创建spring-config.xml⽂件。如果springconfig.xml已存在,则修改添
加mybatis相关内容,添加新的服务实现类的扫描路径
 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <!--1 数据源定义-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url"
                  value="jdbc:mysql://localhost:3306/mydb?
                             serverTimezone=Asia/Shanghai&amp;
                             autoReconnect=true&amp;
                             useSSL=false&amp;
                             characterEncoding=utf8&amp;
                             useUnicode=true"/>
        <property name="username" value="root"/>
        <property name="password" value="2205525477"/>
    </bean>

    <!--创建mybatis会话工厂-->
    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>

    <!--扫码mapper接口类-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.ws.**.dao"/>
    </bean>

    <!--扫描service服务接口-->
    <context:component-scan base-package="com.ws.**.service.impl"/>
</beans>

5.3 创建SpringMVC配置⽂件
在src/main/resources⽬录下,创建springmvc-config.xml⽂件。如果springmvc-config.xml已存在,
则修改添加新模块的控制器扫描路径
 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="com.**.controller"/>
<bean id="viewerResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value=""/>
<property name="suffix" value=".jsp"/>
</bean>
<mvc:resources location="/static/" mapping="/static/**/*.*"/>
<!--注解驱动-->
<mvc:annotation-driven/>
</beans>

5.4 修改web.xml⽂件
修改web.xml⽂件,添加spring, springmvc的配置,以及处理中⽂的过滤器
 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--初始化spring容器-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-config.xml</param-value>
</context-param>
<listener>
<listenerclass>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<!--第⼀一个启动Spring容器器及其拦截器器-->
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
<!--所有的请求都需要经过DispatcherServlet转发处理理-->
</servlet-mapping>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filterclass>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

6、功能测试
访问:http://localhost:8080/productlist 进行测试
 

        我们还可以根据以上描述添加更多有趣好玩的功能模块。也可做出更好看的形式看着效果更加好。

素材及源代码百度网盘链接:百度网盘 请输入提取码

提取码:2205

************************************************************************************************************



您的建议是博主更新最大的动力!!



如发现错误请在评论区评论,博主会仔细查看并修改的!!



希望对您有所帮助!!!

JavaWeb】网上蛋糕项目商城-关键字搜索,购物车以及商品详情功能
笔触狂放的博客
05-06 1850
项目中会存在“立即购买”和“加入购物车”的字样,这里都表示为将该商品添加至购物车,这里的购物车是临时存储,并不会添加到数据库中进行存储,只有用户注册登录之后,才能将购物车中的数据进行购买,形成购买订单信息。查看商品详情的功能在以上各篇文章中都需要涉及,首页中的轮播图商品,热销,新品,商品分类以及商品关键字搜索,甚至后面的购物车功能中都需要查看商品的详情信息,因此这个模块很重要。上文中已经实现热销和新品的商品列表功能,本文篇幅中实现关键字搜索商品,将商品加入购物车,以及查看商品的详情信息等功能。
[内附完整源码和文档] 基于WEB的网上购物系统的设计与实现
热门推荐
LEMFOooO的博客
08-25 1万+
摘 要 随着计算机网络技术的飞速发展和人们生活节奏的不断加快,电子商务技术已经逐渐融入了人们的日常生活当中,网上商城作为电子商务最普遍的一种形式,已被大众逐渐接受。因此开发一个网上商城系统,适合当今形势,更加方便人们在线购物。 本网上商城系统以MVC分层思想为原则,使用SSH框架进行整合开发。页面显示使用JSP和HTML,数据库使用MySQL,这些技术目前相对比较成熟,方便系统的维护与扩展。网上商城系统前台包括了用户注册、用户登录、商品查询、商品添加到购物车、删除商品等几大功能;后台管理功能则包括商品的修改
Javaweb学生管理系统(前端源码)
06-01
基于Javaweb写的前端,已有42个jsp页面,后端、数据库已建好,适合学习后端的朋友练手
javaweb期末大作业课程设计二手闲置物品交易系统源码.zip
06-20
javaweb期末大作业课程设计二手闲置物品交易系统源码。javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码javaweb期末大作业课程设计二手闲置物品交易系统源码
JAVA web大作业
06-20
基于JAVA WEb 写的大作业,纯属个人的文档,和个人的代码
JavaWeb-购物商城系统(idea可用)
m0_53418068的博客
01-03 2927
SSM项目,idea可用,有pom文件,正常运行
Java web 期末大作业,完成度100%附带文档.
12-25
1. 总体介绍 本次项目主要以本学期所学内容为基础,采用servlet+jsp+jdbc的技术以及mvc模式进行项目开发,本次开发的内容主要以实现CRUD核心功能为主的教务管理系统,分为学生端和教师端,前端采用jquery进行数据传输以及处理,bootstap写界面。 2. 技术架构 运行环境:tomcat9+mysql5+maven3.8+jdk8 前端技术:jquery 用以数据处理以及前端验证以及生成验证码等等 Bootstrap 前端界面处理 后端技术:servelt+jsp maven进行jar包和第三方库管理 采用jspsmart进行文件的操作处理 数据库:mysql5 基于MVC的分层思想及采用jsp+servelt技术的B/S结构的应用系统,系统主要开发语言为JAVA,JSP。数据库要求使用MySQL8.0,应用服务器选用Tomcat服务器 3. 功能介绍 系统能够提供用户有好的界面 系统具有良好的允许效率 系统具有良好的扩充性,灵活性 系统管理操作简单易懂 3.1 总体结构 3.2 模块详情 学生模块: 注册: 1. 用户点击注册,进行注册; 2. 用户输入注册信息; 3. 校验数据:如果用户名重复或者两次密码校验不合格或者密码规格不符合,则提示错误信息; 4. 若信息无错误,提示注册成功,跳转到登录页。 登录: 1. 用户进入系统未进行登录则自行跳转登录页面; 2. 点击忘记密码可进行密码找回; 3. 提交信息进行校验,查看用户名密码是否为空以及是否符合格式,随后在后台进行校验,合格则进行登录跳转到用户界面; 4. 若登录信息不正确,则提示登录错误信息。 查看成绩: 1. 点击查看成绩,打印成绩列表; 2. 支持到处成绩单为pdf格式。 导出成绩: 1. 点击到处按钮; 2. 系统自动处理并到处成pdf。 个人信息管理: 1. 选择上传头像 2. 修改个人信息:按需填写个人信息,随后进行保存则覆盖修改以往的个人信息。 退出登录: 1. 点击退出登录,自动退出到首页并删除本地和服务器缓存。 教师模块: 注册: 1用户点击注册,进行注册; 2用户输入注册信息; 3校验数据:如果用户名重复或者两次密码校验不合格或者密码规格不符合,则提示错误信息; 4若信息无错误,提示注册成功,跳转到登录页。 登录: 1用户进入系统未进行登录则自行跳转登录页面; 2点击忘记密码可进行密码找回; 3提交信息进行校验,查看用户名密码是否为空以及是否符合格式,随后在后台进行校验,合格则进行登录跳转到用户界面; 4若登录信息不正确,则提示登录错误信息。 个人信息管理: 1选择上传头像 2修改个人信息:按需填写个人信息,随后进行保存则覆盖修改以往的个人信息。 学生管理: 1. 点击添加学生,填写学生信息进行添加; 2. 修改学生信息,点击修改,按需填写要修改的学生信息,进行保存覆盖修改; 3. 点击删除学生数据,提示是否删除,确定则删除,取消则不删除; 4. 查看成绩,点击查看学生成绩,单独列出学生成绩列表; 成绩管理: 1. 点击成绩管理,列出所有学生成绩; 2. 点击修改,勾选需要修改的学生,按需填写修改信息,保存覆盖修改学生信息。 退出登录: 1点击退出登录,自动退出到首页并删除本地和服务器缓存。 4. 页面设计 静态jsp页面和jquery和bootstrap 5. 数据库设计 权限对照表: 表名: role 名称 类型 长度 允许空值 是否主键 注释 uid 整型 11 否 是 权限等级 utype 字符 255 否 否 用户等级名称 分数表: 表名: score 名称 类型 长度 允许空值 是否主键 注释 id 整型 200 否 是 学号 dat 字符 255 否 否 课程1分数 Android 字符 255 否 否 课程2分数 Jsp 字符 255 是 否 课程3分数 学生表: 表名: student 名称 类型 长度 允许空值 是否主键 注释 id 整型 59 否 是 学号 password 字符 255 否 否 登陆密码 Name 字符 255 否 否 学生姓名 Sex 字符 255 是 否 性别 School_date 字符 255 是 否 入学时间 Major 字符 255 是 否 专业 email 字符 255 是 否 邮箱 教师表: 表名: student 名称 类型 长度 允许空值 是否主键 注释 id 整型 59 否 是 教师工号 password 字符 255 否 否 登陆密码 Name 字符 255 否 否 教师姓名 Sex 字符 255 是 否 性别 email 字符 255 是 否 邮箱
java web 项目作业
weixin_55928972的博客
04-14 6124
java web 项目作业 针对小白选购电脑的非正式专家网站
JavaWeb期末大作业 Javaweb项目 Javaweb Servlet html
Wangguomingz的博客
08-10 8280
管理系统 javaweb项目 javaweb作业可用 管理系统 javaweb servlet html jsp js
Javaweb-购物商城实现展示商品,实现购物车购物,结算(Servlet+mysql+jsp+tomcat)
05-11 1万+
演示视频: 购物网站 购物网站首页 首先说明:这个是花几天搭建出来玩的,从github上拉到找好看的框架组合的,效果还不错,主要是学习作用.源码之类的也会分享出来,希望一起进步,最好动手实践,可以参照逻辑做的更好, 简易购物商城设计 实验要求: 1.编写注册和登录页面,(要注意检查注册信息是否已经被其他用户使用)。 2.编写采购页面,页面显示不同的商品,(可以按分类来展示,如有
JAVA WEB大合集(作业+总结+改正)
qq_54242570的博客
02-06 2052
由于本人的新网站挂掉了不得已重新回到熟悉的老地方CSDN,一起挂掉的还有没来得及转移的JAVAWEB系列文章,只能凭借记忆再重新写一份了QAQ
JavaWeb作业Web上机考试系统源代码.zip
06-08
JavaWeb作业Web上机考试系统功能: - 管理增删改查老师、重置密码 - 管理员查看所有考试的分数段分布、及格率、成绩统计图 - 管理员修改全局配置信息 - 管理员监测系统硬件配置 - 老师增删改查考试 - 老师导入学生名单、手动添加考生到一场考试 - 老师查看某场考试具体情况、发送通知、下载答卷、打包班级答卷、评分 - 老师查看自己创建的考试的分数段分布,及格率,成绩统计图 - 学生查看自己参加的考试、下载试卷、上传答卷 - 学生查看自己的各科分数、分数统计图 - 学生个人云存储空间 - 管理员、老师一键身份切换 - 所有搜索均支持模糊查询 - 数据库分页查询技术 特色 1. 精美炫酷的登录页面 2. 设计合理,左侧式导航栏,顶部二级菜单 3. 双层MD5加密 4. 过滤器权限保护, 5. 贴心页面 6.易维护易拓展便开发 7. 代码结构开发规范,优美 8. 管理员/老师身份一键切换 9. 老师评分、评语 10. 炫酷的成绩报表 11. 考试成绩区间人数统计 12. 考试成绩及格率统计
Java Web大作业 聊天系统
06-26
Java Web大作业 聊天系统 (有具体的文档说明) 模块划分说明: config用于存放Config文件 controller用于存放后端api代码 dao存放jpa操作 dto存放的类的属性为entity类中的一部分 entity和数据库的映射 processor存放过滤器拦截器和监听器 service存放各种具体的操作,供其他各个包调用,遵循接口实现的规则 utils存放通用工具 vo用于和前端交互时候用到的类型
JAVAWEB作业报告书
12-07
javaweb作业报告书,基于 Struts 的图书管理系统学习 Web应用程序的开发,以 通过 MVC(模型 -视图-控制 )架构模式,使其在开发过程中得以应用,并了解 Web 编程模式下 的 Model1 和 Model2 的区别;了解 Struts 框架的具体含义及在 Struts 模式下的开发。
JavaWEB商城项目(包括数据库)
09-20
功能描述:包括用户的登录注册,以及个人资料的修改.商品的分类展示,详情,加入购物车,生成订单,到银行支付等!另外还有收货地址的和我的收藏等常用操作.环境(JDK 1.7 ,mysql 5.5,Eclipse mars2 ).
JavaWEB商城项目期末作业.zip
08-05
期末作业类型:环境(JDK 1.7 ,mysql 5.5,Eclipse mars2 ). 功能描述: 用户登录注册 个人资料修改. 商品分类展示,详情,加入购物车,生成订单,到银行支付等 另外还有收货地址的和我的收藏等常用操作.
JavaWeb期末大作业.zip
12-28
JavaWeb期末大作业项目实战代码资源宝库 一、项目背景与目标 随着JavaWeb技术的广泛应用,掌握其核心技能对于计算机专业的学生至关重要。为此,我们特地为您准备了一系列JavaWeb期末大作业项目实战代码资源。这些...
CJLU_JavaWeb期末大作业.zip
12-28
JavaWeb期末大作业项目实战代码资源宝库 一、项目背景与目标 随着JavaWeb技术的广泛应用,掌握其核心技能对于计算机专业的学生至关重要。为此,我们特地为您准备了一系列JavaWeb期末大作业项目实战代码资源。这些...
javaweb蛋糕商城作业
最新发布
12-28
javaweb蛋糕商城作业是一个基于Java语言开发的网上蛋糕商城项目。该项目旨在实现一个完整的网上蛋糕购物系统,包括用户注册登录、蛋糕浏览、购物车管理、订单提交与支付等功能。 首先,用户可以通过注册登录功能创建个人账户,并且可以查看个人信息和订单记录。其次,在蛋糕商城首页,用户可以浏览不同种类的蛋糕,包括生日蛋糕、水果蛋糕、巧克力蛋糕等,并且可以查看商品详情和价格。 在选择蛋糕后,用户可以将商品添加至购物车,并且可以对购物车进行管理,包括增加、删除商品或者修改商品数量。用户可以在购物车页面确认购买商品后,提交订单并选择支付方式进行支付。 在后台管理方面,管理员可以管理蛋糕商品信息、订单信息和用户信息,包括添加、编辑和删除商品,查看订单状态和处理退款等操作。 此外,该作业还应该考虑到安全性和交互性问题,例如用户信息的加密存储和传输以及良好的用户交互体验。 在开发过程中,需要使用到的技术包括Java语言、Spring框架、MyBatis框架、前端页面技术等。同时,需要考虑到数据库设计和性能优化等方面的问题。 总而言之,javaweb蛋糕商城作业是一个涵盖了用户管理、商品管理、订单管理和后台管理等功能的完整项目,需要综合考虑到技术、安全和用户体验等方面的问题,是一个较为复杂和全面的实际开发项目

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • c语言学生管理系统(上) 26805
  • C#实现回合制游戏模拟 11987
  • Javaweb商城项目大作业 11343
  • UI设计前端大作业(小U课堂) 9195
  • c语言使用easyX图形库制作打气球小游戏 5205

分类专栏

  • 大学生期末大作业 8篇

最新评论

  • Javaweb商城项目大作业

    暴富爆发: 运行不了,web.xml那里有问题

  • UI设计前端大作业(小U课堂)

    ✓乐: 用什么运行啊

  • Javaweb商城项目大作业

    Liberty812: 他报错说是没发现测试

  • Javaweb商城项目大作业

    九九IT笔记: 是配置的问题吗

  • springboot+vue疫情管理大作业

    九九IT笔记: 是前端启动了,后端没启动起来

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • springboot+vue疫情管理大作业
  • C#实现回合制游戏模拟
  • 单链表基本操作进阶版
2022年1篇
2021年14篇
2020年8篇

目录

目录

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

哆哆女性网网络起名免费大同dq游戏下载程姓怎么起名字杨姓男宝宝起名大全属牛动漫剧场版农业方面的公司起名搜狗五笔拼音输入法适合公司起名的起个带木字旁的名字三胎男孩起名高端设计室起名女孩起名带媛字的时姓起名简宏霖关于诸葛亮的故事杨字起名企业起名网超级大富豪姜武电影纤细的爱在线观看起名免费取名测分数我爱家乡的作文梁姓女孩起名何广位姓童男人起名高调宠婚免费家政公司起名给书店起名叫什么今天生宝宝起什么名好萌猫qq头像淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化