SSM项目完整源码

〇. 项目源码

https://gitee.com/ZXAcademy/First-PaperSystem-SSM

相比较于此文,如上项目源码做了如下修改:

  1. 新增数据库脚本(database目录下)
  2. 调整数据库列名(PaperMapper.xml中)
  3. 修改了一处BUG(主页,修复了点击更改按钮后,update页面的输入框不显示旧数据)

项目演示见本文 第三章

一、项目框架

在这里插入图片描述
在这里插入图片描述

二、所有文件代码

2.1 Paper.java

package com.pojo;

public class Paper {
    private long paperId;
    private String paperName;
    private int paperNum;
    private String paperDetail;

    public long getPaperId() {
        return paperId;
    }

    public void setPaperId(long paperId) {
        this.paperId = paperId;
    }

    public String getPaperName() {
        return paperName;
    }

    public void setPaperName(String paperName) {
        this.paperName = paperName;
    }

    public int getPaperNum() {
        return paperNum;
    }

    public void setPaperNum(int paperNum) {
        this.paperNum = paperNum;
    }

    public String getPaperDetail() {
        return paperDetail;
    }

    public void setPaperDetail(String paperDetail) {
        this.paperDetail = paperDetail;
    }

}

2.2 PaperController.java

package com.controller;

import com.pojo.Paper;
import com.service.PaperService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller
@RequestMapping("/paper")
public class PaperController {

    @Autowired
    private PaperService paperService;

    @RequestMapping("/allPaper")
    public String list(Model model) {
        List<Paper> list = paperService.queryAllPaper();
        model.addAttribute("list", list);
        return "allPaper";
    }

    @RequestMapping("toAddPaper")
    public String toAddPaper() {
        return "addPaper";
    }

    @RequestMapping("/addPaper")
    public String addPaper(Paper paper) {
        paperService.addPaper(paper);
        return "redirect:/paper/allPaper";
    }

    @RequestMapping("/del/{paperId}")
    public String deletePaper(@PathVariable("paperId") Long id) {
        paperService.deletePaperById(id);
        return "redirect:/paper/allPaper";
    }

    @RequestMapping("toUpdatePaper")
    public String toUpdatePaper(Model model, Long id) {
        model.addAttribute("paper", paperService.queryById(id));
        return "updatePaper";
    }

    @RequestMapping("/updatePaper")
    public String updatePaper(Model model, Paper paper) {
        paperService.updatePaper(paper);
        paper = paperService.queryById(paper.getPaperId());
        model.addAttribute("paper", paper);
        return "redirect:/paper/allPaper";
    }
}

2.3 PaperDao.java

package com.dao;

import com.pojo.Paper;

import java.util.List;

public interface PaperDao {

    int addPaper(Paper paper);

    int deletePaperById(long id);

    int updatePaper(Paper paper);

    Paper queryById(long id);

    List<Paper> queryAllPaper();
}

2.4 PaperServer.java

package com.service;

import com.pojo.Paper;

import java.util.List;

public interface  PaperService {

    int addPaper(Paper paper);

    int deletePaperById(long id);

    int updatePaper(Paper paper);

    Paper queryById(long id);

    List<Paper> queryAllPaper();

}

2.5 PaperServiceImpl.java

package com.service.impl;

import com.dao.PaperDao;
import com.pojo.Paper;
import com.service.PaperService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class PaperServiceImpl implements PaperService {

    @Autowired
    PaperDao paperDao;

    public int addPaper(Paper paper) {
        return paperDao.addPaper(paper);
    }

    public int deletePaperById(long id) {
        return paperDao.deletePaperById(id);
    }

    public int updatePaper(Paper paper) {
        return paperDao.updatePaper(paper);
    }

    public Paper queryById(long id) {
        return paperDao.queryById(id);
    }

    public List<Paper> queryAllPaper() {
        return paperDao.queryAllPaper();
    }
}

2.6 PaperMapper.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.dao.PaperDao">
    <resultMap type="Paper" id="paperResultMap" >
        <id property="paperId" column="paper_id"/>
        <result property="paperName" column="name"/>
        <result property="paperNum" column="number"/>
        <result property="paperDetail" column="detail"/>
    </resultMap>
    <insert id="addPaper" parameterType="Paper">
        INSERT INTO paper(paper_id,name,number,detail) VALUE (#{paperId},#{paperName}, #{paperNum}, #{paperDetail})
    </insert>

    <delete id="deletePaperById" parameterType="long">
        DELETE FROM paper WHERE paper_id=#{paperID}
    </delete>

    <update id="updatePaper" parameterType="Paper">
        UPDATE paper
        SET NAME = #{paperName},NUMBER = #{paperNum},detail = #{paperDetail}
        WHERE  paper_id = #{paperId}
    </update>

    <select id="queryById" resultType="Paper" parameterType="long">
        SELECT paper_id,name,number,detail
        FROM paper
        WHERE paper_id=#{paperId}
    </select>
    <select id="queryAllPaper" resultMap="paperResultMap">
        SELECT paper_id,name,number,detail
        FROM paper
    </select>

</mapper>

2.7 spring-dao.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 配置整合mybatis过程 -->
    <!-- 1.配置数据库相关参数properties的属性:${url} -->
    <context:property-placeholder location="classpath:jdbc.properties"/>

    <!-- 2.数据库连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <!-- 配置连接池属性 -->
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>

        <!-- c3p0连接池的私有属性 -->
        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="10"/>
        <!-- 关闭连接后不自动commit -->
        <property name="autoCommitOnClose" value="false"/>
        <!-- 获取连接超时时间 -->
        <property name="checkoutTimeout" value="10000"/>
        <!-- 当获取连接失败重试次数 -->
        <property name="acquireRetryAttempts" value="2"/>
    </bean>

    <!-- 3.配置SqlSessionFactory对象 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!-- 扫描pojo包 使用别名 -->
        <property name="typeAliasesPackage" value="com.pojo"/>
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>

    <!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 注入sqlSessionFactory -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!-- 给出需要扫描Dao接口包 -->
        <property name="basePackage" value="com.dao"/>
    </bean>
</beans>

2.8 spring-mvc.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 配置整合mybatis过程 -->
    <!-- 1.配置数据库相关参数properties的属性:${url} -->
    <context:property-placeholder location="classpath:jdbc.properties"/>

    <!-- 2.数据库连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <!-- 配置连接池属性 -->
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>

        <!-- c3p0连接池的私有属性 -->
        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="10"/>
        <!-- 关闭连接后不自动commit -->
        <property name="autoCommitOnClose" value="false"/>
        <!-- 获取连接超时时间 -->
        <property name="checkoutTimeout" value="10000"/>
        <!-- 当获取连接失败重试次数 -->
        <property name="acquireRetryAttempts" value="2"/>
    </bean>

    <!-- 3.配置SqlSessionFactory对象 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!-- 扫描pojo包 使用别名 -->
        <property name="typeAliasesPackage" value="com.pojo"/>
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>

    <!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 注入sqlSessionFactory -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!-- 给出需要扫描Dao接口包 -->
        <property name="basePackage" value="com.dao"/>
    </bean>
</beans>

2.9 spring-service.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:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!-- 扫描service包下所有使用注解的类型 -->
    <context:component-scan base-package="com.service" />

    <!-- 配置事务管理器 -->
    <bean id="transactionManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource" />
    </bean>
    <!-- 配置基于注解的声明式事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" />
</beans>

2.10 jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/db_ssm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=123456

2.11 log4j.properties

log4j.rootLogger=ERROR, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

2.12 mybatis-config.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>
    <!-- 配置全局属性 -->
    <settings>
        <!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 -->
        <setting name="useGeneratedKeys" value="true" />

        <!-- 使用列别名替换列名 默认:true -->
        <setting name="useColumnLabel" value="true" />

        <!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} -->
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
</configuration>

2.13 index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<%
    pageContext.setAttribute("path", request.getContextPath());
%>
<!DOCTYPE HTML>
<html>
<head>
    <title>首页</title>
    <style type="text/css">
        a {
            text-decoration: none;
            color: black;
            font-size: 18px;
        }

        h3 {
            width: 180px;
            height: 38px;
            margin: 100px auto;
            text-align: center;
            line-height: 38px;
            background: deepskyblue;
            border-radius: 4px;
        }
    </style>
</head>
<body>
<div class="container">
    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    基于SSM框架的管理系统:简单实现增、删、改、查。
                </h1>
            </div>
        </div>
    </div>
</div>
<br><br>
<h3>
    <a href="${path }/paper/allPaper">点击进入管理页面</a>
</h3>
</body>
</html>

2.14 web.xml

<!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 xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1" metadata-complete="true">
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置springMVC需要加载的配置文件
        spring-dao.xml,spring-service.xml,spring-mvc.xml
        Mybatis - > spring -> springmvc
     -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring/spring-*.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <!-- 默认匹配所有的请求 -->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>
      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>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

2.15 log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <!--
    - This is a sample configuration for log4j.
    - It simply just logs everything into a single log file.
    - Note, that you can use properties for value substitution.
    -->
  <appender name="CORE" class="org.apache.log4j.FileAppender">
    <param name="File"   value="${org.apache.cocoon.work.directory}/cocoon-logs/log4j.log" />
    <param name="Append" value="false" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %-5p %t %c - %m%n"/>
    </layout>
  </appender>

  <root>
    <priority value="${org.apache.cocoon.log4j.loglevel}"/>
    <appender-ref ref="CORE"/>
  </root>
</log4j:configuration>

2.16 applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- @version $Id: applicationContext.xml 561608 2007-08-01 00:33:12Z vgritsenko $ -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:util="http://www.springframework.org/schema/util"
       xmlns:configurator="http://cocoon.apache.org/schema/configurator"
       xmlns:avalon="http://cocoon.apache.org/schema/avalon"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
                           http://cocoon.apache.org/schema/configurator http://cocoon.apache.org/schema/configurator/cocoon-configurator-1.0.1.xsd
                           http://cocoon.apache.org/schema/avalon http://cocoon.apache.org/schema/avalon/cocoon-avalon-1.0.xsd">

  <!-- Activate Cocoon Spring Configurator -->
  <configurator:settings/>

  <!-- Configure Log4j -->
  <bean name="org.apache.cocoon.spring.configurator.log4j"
        class="org.apache.cocoon.spring.configurator.log4j.Log4JConfigurator"
        scope="singleton">
    <property name="settings" ref="org.apache.cocoon.configuration.Settings"/>
    <property name="resource" value="/WEB-INF/log4j.xml"/>
  </bean>

  <!-- Activate Avalon Bridge -->
  <avalon:bridge/>

</beans>

2.17 addPaper.jsp

<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2018/4/7
  Time: 16:45
  To change this template use File | Settings | File Templates.
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<html>
<head>
    <title>新增论文</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入 Bootstrap -->
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    基于SSM框架的管理系统:简单实现增、删、改、查。
                </h1>
            </div>
        </div>
    </div>

    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    <small>新增论文</small>
                </h1>
            </div>
        </div>
    </div>
    <form action="" name="userForm">
        论文名称:<input type="text" name="paperName"><br><br><br>
        论文数量:<input type="text" name="paperNum"><br><br><br>
        论文详情:<input type="text" name="paperDetail"><br><br><br>
        <input type="button" value="添加" οnclick="addPaper()">
    </form>

    <script type="text/javascript">
        function addPaper() {
            var form = document.forms[0];
            form.action = "<%=basePath %>paper/addPaper";
            form.method = "post";
            form.submit();
        }
    </script>
</div>

2.18 allPaper.jsp

<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2018/4/6
  Time: 16:57
  To change this template use File | Settings | File Templates.
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<% String appPath = request.getContextPath(); %>
<html>
<head>
    <title>Paper列表</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入 Bootstrap -->
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    基于SSM框架的管理系统:简单实现增、删、改、查。
                </h1>
            </div>
        </div>
    </div>

    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    <small>论文列表 —— 显示所有论文</small>
                </h1>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-4 column">
            <a class="btn btn-primary" href="${path}/paper/toAddPaper">新增</a>
        </div>
    </div>
    <div class="row clearfix">
        <div class="col-md-12 column">
            <table class="table table-hover table-striped">
                <thead>
                <tr>
                    <th>论文编号</th>
                    <th>论文名字</th>
                    <th>论文数量</th>
                    <th>论文详情</th>
                    <th>操作</th>
                </tr>
                </thead>
                <tbody>
                <c:forEach var="paper" items="${requestScope.get('list')}" varStatus="status">
                    <tr>
                        <td>${paper.paperId}</td>
                        <td>${paper.paperName}</td>
                        <td>${paper.paperNum}</td>
                        <td>${paper.paperDetail}</td>
                        <td>
                            <a href="${path}/paper/toUpdatePaper?id=${paper.paperId}">更改</a> |
                            <a href="<%=appPath%>/paper/del/${paper.paperId}">删除</a>
                        </td>
                    </tr>
                </c:forEach>
                </tbody>
            </table>
        </div>
    </div>
</div>

2.19 updatePaper.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<html>
<head>
    <title>修改论文</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入 Bootstrap -->
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    基于SSM框架的管理系统:简单实现增、删、改、查。
                </h1>
            </div>
        </div>
    </div>

    <div class="row clearfix">
        <div class="col-md-12 column">
            <div class="page-header">
                <h1>
                    <small>修改论文</small>
                </h1>
            </div>
        </div>
    </div>

    <form action="" name="userForm">
        <input type="hidden" name="paperId" value="${paper.paperId}"/>
        论文名称:<input type="text" name="paperName" value="${paper.paperName}"/>
        论文数量:<input type="text" name="paperNum" value="${paper.paperNum}"/>
        论文详情:<input type="text" name="paperDetail" value="${paper.paperDetail }"/>
        <input type="button" value="提交" οnclick="updatePaper()"/>
    </form>
    <script type="text/javascript">
        function updatePaper() {
            var form = document.forms[0];
            form.action = "<%=basePath %>paper/updatePaper";
            form.method = "post";
            form.submit();
        }
    </script>
</div>

三、演示结果

在这里插入图片描述

拾年之璐 CSDN认证博客专家 Linux Python 架构
主攻后端研发(Java、PHP)、计算机视觉。谨以此博客记录程序人生的所学所想、所思所考。
公众号:知行校园汇。 愿你我不负热爱,远赴山海^_^
<h3 class="md-end-block md-heading md-focus" style="font-size: 1.4rem; font-weight: bold; color: #34495e; font-family: Ubuntu,;"><span class="md-plain">目的和意义</span></h3> <p class="md-end-block md-p" style="color: #34495e; font-family: Ubuntu,;"><span class="md-entity"> </span><span class="md-entity"> </span><span class="md-plain">小区管理是现代温馨小区必不可少的一部分,互联网的高速发展,势必将传统的小区管理模式转变为“互联网+”的小区管理模式,人们已经融入到了互联网的时代中。 </span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity"> </span><span class="md-entity"> </span><span class="md-plain">本系统的目的是为了方便管理小区,为了方便居民交流。 </span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity"> </span><span class="md-entity"> </span><span class="md-plain">本系统的意义有,第一,本系统能方便的进行物业管理,从而减轻小区物业管理员的负担;第二,本系统有交流管理模块,能让居民在小区里多些交流,能发布一些有趣的活动通知,提高居民的幸福感。新型小区管理模式的小趣社核心是互联网+小区物业管理+通知交流。</span></p> <h3 class="md-end-block md-heading" style="font-size: 1.4rem; font-weight: bold; color: #34495e; font-family: Ubuntu,;"><span class="md-plain">项目介绍</span></h3> <p class="md-end-block md-p md-focus" style="color: #34495e; text-indent: 0px; font-family: Ubuntu,;"><span class="md-entity">  这是一个基于ssm的互联网+小区物业管理+通知交流的项目</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span style="font-size: 16px;"><strong>技术点</strong></span><strong><span class="md-plain">:</span></strong><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  使用Mybatis分页插件PageHelper</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  使用redis做Mybatis的二级缓存</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  使用Spring自带的md5加密工具类</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  使用commons-fileupload文件上传组件上传文件</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  使用Spring的拦截器控制访问</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  使用阿里巴巴的druid连接池</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  maven项目</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  使用ssm框架</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  后台bootstrap前端框架</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  轮播图</span><span class="md-linebreak" style="font-family: var(--monospace); color: inherit;">  <br /></span><span class="md-entity">  富文本编辑框         <br /></span></p> <p class="md-end-block md-p md-focus" style="color: #34495e; text-indent: 0px; font-family: Ubuntu,;"><span class="md-entity">       echarts报表数据展示</span></p> <p class="md-end-block md-p md-focus" style="color: #34495e; text-indent: 0px; font-family: Ubuntu,;"><span class="md-entity">        POIexcel文件导入导出       <br /></span></p> <p class="md-end-block md-p md-focus" style="color: #34495e; text-indent: 0px; font-family: Ubuntu,;"><span class="md-entity">        微信扫码支付        <br /></span></p> <p class="md-end-block md-p md-focus" style="color: #34495e; text-indent: 0px; font-family: Ubuntu,;"><span class="md-entity">        邮件和短信发送</span></p> <h3 class="md-end-block md-heading" style="font-family: sans-serif; box-sizing: border-box; break-after: avoid-page; break-inside: avoid; font-size: 1.4rem; margin: 20px 0px 7px; position: relative; line-height: 1.43; cursor: text; white-space: pre-wrap; color: #34495e;"><span class="md-plain" style="box-sizing: border-box;">功能模块</span></h3> <h4 class="md-end-block md-heading md-focus" style="font-family: sans-serif; box-sizing: border-box; break-after: avoid-page; break-inside: avoid; font-size: 1.2rem; margin-top: 1rem; margin-bottom: 1rem; position: relative; line-height: 1.4; cursor: text; white-space: pre-wrap; color: #34495e;"><span class="md-plain md-expand" style="box-sizing: border-box;">前台功能</span></h4> <p><span class="md-plain md-expand" style="box-sizing: border-box;"><img src="https://img-bss.csdnimg.cn/202103200528573196.png" alt="" /></span></p> <p><strong><span style="color: #34495e; font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; font-size: 16px; background-color: #ffffff;">后台功能</span></strong></p> <p><strong><span style="color: #34495e; font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; font-size: 16px; background-color: #ffffff;"><img src="https://img-bss.csdnimg.cn/202103200529345928.png" alt="" /></span></strong></p> <h3 class="md-end-block md-heading md-focus" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 20px 0px 7px; padding: 0px; font-size: 1.4rem; background-color: #ffffff; box-sizing: border-box; break-after: avoid-page; break-inside: avoid; position: relative; line-height: 1.43; cursor: text; white-space: pre-wrap; color: #34495e;"><span class="md-plain md-expand" style="margin: 0px; padding: 0px; box-sizing: border-box;">项目部分截图</span></h3> <h4 class="md-end-block md-heading" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 1rem 0px; padding: 0px; font-size: 1.2rem; background-color: #ffffff; box-sizing: border-box; break-after: avoid-page; break-inside: avoid; position: relative; line-height: 1.4; cursor: text; white-space: pre-wrap; color: #34495e;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;">前台截图</span></h4> <p class="md-end-block md-p" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0.8em 0px; padding: 0px; font-size: 16px; background-color: #ffffff; box-sizing: border-box; line-height: 1.6rem; orphans: 4; white-space: pre-wrap; position: relative; word-spacing: 0.05rem; color: #34495e;"><span style="margin: 0px; padding: 0px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px 1px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;">登录界面</span></strong></span><span class="md-plain md-expand" style="margin: 0px; padding: 0px; box-sizing: border-box;"> </span></p> <p class="md-end-block md-p" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0.8em 0px; padding: 0px; font-size: 16px; background-color: #ffffff; box-sizing: border-box; line-height: 1.6rem; orphans: 4; white-space: pre-wrap; position: relative; word-spacing: 0.05rem; color: #34495e;"><span class="md-plain md-expand" style="margin: 0px; padding: 0px; box-sizing: border-box;"><img src="https://img-bss.csdnimg.cn/202103200530227704.png" alt="" /></span></p> <p class="md-end-block md-p" style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0.8em 0px; padding: 0px; font-size: 16px; background-color: #ffffff; box-sizing: border-box; line-height: 1.6rem; orphans: 4; white-space: pre-wrap; position: relative; word-spacing: 0.05rem; color: #34495e;"> </p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;">主界面</span></strong></p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><img src="https://img-bss.csdnimg.cn/202103200533092341.jpg" alt="" /></span></strong></p> <p> </p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px 1px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><img src="https://img-bss.csdnimg.cn/202103200541131933.png" alt="" /></span></strong></span></span></strong></p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px 1px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;">主界面</span></strong></span><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"> </span></span></strong></p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><img src="https://img-bss.csdnimg.cn/202103200534417763.png" alt="" /></span></span></strong></p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px 1px; word-spacing: 0.7px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;">发动态界面</span></strong></span></span></strong></p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px 1px; word-spacing: 0.7px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><img src="https://img-bss.csdnimg.cn/202103200535179716.png" alt="" /></span></strong></span></span></strong></p> <p> </p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px 1px; word-spacing: 0.7px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-expand" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 2; white-space: normal; word-spacing: 0px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px 1px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;">修改信息界面</span></strong></span><span class="md-plain md-expand" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 2; white-space: normal; word-spacing: 0px; box-sizing: border-box;"> </span></span></strong></span></span></strong></p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px 1px; word-spacing: 0.7px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain md-expand" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 2; white-space: normal; word-spacing: 0px; box-sizing: border-box;"><img src="https://img-bss.csdnimg.cn/202103200535457218.png" alt="" /></span></span></strong></span></span></strong></p> <p> </p> <p> </p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><img src="https://img-bss.csdnimg.cn/202103200536077311.png" alt="" /></span></span></strong></p> <p> </p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px; orphans: 2; white-space: normal; word-spacing: 0px;">数据统计页面</strong></span></span></strong></p> <p><strong style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px 1px; color: #34495e; font-size: 16px; background-color: #ffffff; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; box-sizing: border-box;"><span class="md-plain" style="margin: 0px; padding: 0px; font-weight: 400; orphans: 4; white-space: pre-wrap; word-spacing: 0.7px; box-sizing: border-box;"><strong style="margin: 0px; padding: 0px; orphans: 2; white-space: normal; word-spacing: 0px;"><img src="https://img-bss.csdnimg.cn/202103200536397456.png" alt="" /></strong></span></span></strong></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p>
相关推荐
<p> <span style="color:#E53333;font-size:24px;"><strong>主要内容</strong></span> </p> <p> 掌握MyBatis的常用配置,MyBatis的Mapper映射文件的编写,包含select, update, insert和delete,MyBatis映射文件 </p> 之parameters和@Param注解,MyBatis映射文件的resultMap的使用,MyBatis映射之association(一对一)配置与使用,<br /> MyBatis映射之collection(一对多)配置与使用,MyBatis映射之association与collection的复杂使用(一对一与一对多同时使用<br /> ),MyBatis动态SQL之if,choose, when, otherwise,where,set,foreach,分页查询,主键回填,日志配置等技术;掌握<br /> SpringMVC的项目整合配置,@Controller,@RequestMapping,@Resource,@PathVariable,@ResponseBody,<br /> @ModelAttribute,@CookieValue,@Transactional等注解的使用,json数据传值,国际化,拦截器,权限控制,生成日志,文<br /> 件上传下载,日期格式转换等。<br /> <br /> <span style="font-size:24px;color:#E53333;"><strong>开发技术:</strong></span>java,jsp,mysql,MyBatis,jquery,ajax,json,springmvc<br /> <span style="font-size:24px;color:#E53333;"><strong>运行环境</strong>:</span>jdk1.7及以上版本,tomcat7.0及以上版本,mysql5.5及以上版本<br /> <p> <span style="font-size:24px;color:#E53333;"><strong>开发工具: </strong></span>本项目开发工具是Eclipse,也支持myEclipse,Intellij Idea等其他版本开发工具 </p> <p> <span style="font-size:24px;color:#E53333;"><strong>适用人群:</strong></span> </p> <p> 零基础开始讲解MyBatis,SpringMVC,通过项目实战达到精通各种技术的能力,包括权限控制 </p> <div> <br /> </div> <br /> <br />
<p> <span style="color:#424242;font-size:14px;background-color:#FFFFFF;">熟悉项目开发过程中SSM框架、JSP、Mysql使用,知道各技术之间的如何衔接;</span> </p> <p> <span style="color:#424242;font-size:14px;background-color:#FFFFFF;"> </span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <strong><strong><strong>考虑到部分学生只需要学习前台(买家)或是后台(后台),故将电商系统分为电商系统前台和电商系统后台两个项目,</strong></strong></strong> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <strong><strong><strong>当前课程包含电商系统前台和电商系统后台</strong></strong></strong> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span><strong></strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span><strong>该课程主要涉及到的技术有:</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <strong> 项目涉及的技术:</strong> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;">  1、前端:jsp、css、javascript、jQuery(js框架)、bootstrap框架 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;">  2、后台:Spring MVC、Spring、Mybatis框架、javaMail进行邮件发送、jstl 、jstl自定义分页标签、代码生成器等 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;">  3、数据库:Mysql </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;">  4、服务器:Tomcat </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <strong>项目开发涉及的功能:</strong> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span>1、项目以及数据库搭建</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 2、用户登录、退出 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 3、用户注册、邮件发送、以及用户信息激活 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 4、首页商品信息页面搭建以及查询功能实现 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 5、查询商品明细 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 6、加入商品至购物车、删除、更新、清除购物车商品信息 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 7、确认订单信息 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 8、订单页面搭建以及下订单功能实现 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 9、查询我的购物车以及订单信息 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 10、商品明细查看,商品修改,商品下架 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 11、商品类型管理 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 12、订单管理 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> 13、代码机器人使用等等 </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p> <br /> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong>其他实战项目:<br /> java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)<br /> https://edu.csdn.net/course/detail/25771</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> java项目之oa办公管理系统(java毕业设计)<br /> https://edu.csdn.net/course/detail/23008</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> java项目之hrm人事管理项目java毕业设计)<br /> https://edu.csdn.net/course/detail/23007</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> JavaWeb项目实战之点餐系统前台<br /> https://edu.csdn.net/course/detail/20543</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> JavaWeb项目实战之点餐系统后台<br /> https://edu.csdn.net/course/detail/19572</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)<br /> https://edu.csdn.net/course/detail/26721</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> JavaWeb项目实战之点餐系统全套(前台和后台)<br /> https://edu.csdn.net/course/detail/20610</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> java项目实战之电子商城后台(java毕业设计SSM框架项目)<br /> https://edu.csdn.net/course/detail/25770</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> java美妆商城项目|在线购书系统(java毕业设计项目ssm版)<br /> https://edu.csdn.net/course/detail/23989</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> 系统学习课程:<br /> JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10<br /> https://edu.csdn.net/course/detail/26941</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:18px;"><strong><br /> Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)<br /> https://edu.csdn.net/course/detail/25976<br /> 其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习</strong></span> </p> <br />
<p class="sub-title" style="font-variant-numeric: normal; font-variant-east-asian: normal; color: #313d54; font-size: 17px; font-weight: bold; line-height: 1; margin: 0px; padding: 0px;">课程简介:</p> <div class="course_desc sub-content" style="font-size: 16px; font-variant-numeric: normal; font-variant-east-asian: normal; color: #313d54; margin: 24px 0px 0px; padding: 0px; word-break: break-all;"> <p style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">核心技术</strong>:SpringMvc+Spring+MyBatis+Mysql+Thymeleaf+Jquery+Ajax+HTML+CSS,使用Maven完成项目的构建!使用Git进行版本控制!</p> <p style="margin: 0px; padding: 0px;"> </p> <p style="margin: 0px; padding: 0px;"><span style="background-color: #ffffff; color: #ff0000; font-family: sans-serif; font-variant-numeric: normal; font-variant-east-asian: normal;">在学习过程中,遇到任何相关的问题可以及时联系沟通,第一时间使用远程协助工具帮助解决!</span></p> <p style="margin: 0px; padding: 0px;"> </p> <p style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;">项目部分截图:</strong></p> <p style="margin: 0px; padding: 0px;"> </p> <p style="margin: 0px; padding: 0px;"><img src="https://img-bss.csdnimg.cn/202009090958039667.png" alt="" /></p> <p style="margin: 0px; padding: 0px;"> </p> <p style="margin: 0px; padding: 0px;"> </p> <p style="margin: 0px; padding: 0px;"> </p> <p style="margin: 0px; padding: 0px;"> </p> <p style="margin: 0px; padding: 0px;"> </p> <p style="margin: 0px; padding: 0px;"> </p> </div> <div class="course_desc sub-content" style="color: #313d54; font-size: 16px; font-variant-numeric: normal; font-variant-east-asian: normal; margin: 24px 0px 0px; padding: 0px; word-break: break-all;"> <p style="font-family: &quot; helvetica neue&quot;,helvetica,&quot;hiragino sans gb&quot;,arial,sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px;"> </p> </div>
©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值