基于SSM的健身管理系统

SSM框架的搭建可以参考前一篇博文,里面有详细步骤。---传送门---

项目结构如图所示:

下面开始上源码

applicationContext:

 

<?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:p="http://www.springframework.org/schema/p"
       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-3.1.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd
                        http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    <context:component-scan base-package="com.cn" />
    <!--导入配置文件-->
    <bean id="mysqlSource" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:jdbcConfig.properties"></property>
    </bean>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${classDriverName}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password}" />
    </bean>

    <!--spring mybatis的整合-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath:*.xml" />
    </bean>

    <!-- DAO接口所在包名,Spring会自动查找其下的类 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.cn.dao" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    </bean>

    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
    <bean id="transactionManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
</beans>

springmvcConfig:

 

 

<?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:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
 http://www.springframework.org/schema/context
 http://www.springframework.org/schema/context/spring-context-4.0.xsd
  http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
  http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
 ">
	
	<context:annotation-config />
	<context:component-scan base-package="com.cn.controller"></context:component-scan>
	
	
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>
	<mvc:annotation-driven>
		<mvc:message-converters register-defaults="true">
			<bean
				class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
			</bean>
		</mvc:message-converters>
	</mvc:annotation-driven>
	<mvc:default-servlet-handler />

</beans>

web.xml

 

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>body</display-name>
	<welcome-file-list>
		<welcome-file>login.jsp</welcome-file>
	</welcome-file-list>
	<error-page>
		<error-code>404</error-code>
		<location>/errorpage/404.jsp</location>
	</error-page>
	<error-page>
		<error-code>500</error-code>
		<location>/errorpage/500.jsp</location>
	</error-page>
	<filter>
		<filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
<!--  	<filter>
		<filter-name>SecurityServlet</filter-name>
		<filter-class>com.cn.fillter.SecurityServlet</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>SecurityServlet</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>  -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>WEB-INF/applicationContext.xml</param-value>
	</context-param>
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>classpass:log4j.properties</param-value>
	</context-param>
	<listener>
		<listener-class>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>WEB-INF/springmvcConfig.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.js</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>*.css</url-pattern>
	</servlet-mapping>

</web-app>

jdbc:

 

 

url=jdbc:mysql://localhost:3306/bodybuilding?useUnicode=true&characterEncoding=utf-8
username=root
password=root


classDriverName=com.mysql.jdbc.Driver
minPoolSize=1
maxPoolSize=300
maxIdleTime=60
acquireIncrement=5
initialPoolSize=1
idleConnectionTestPeriod=60U

UserController

 

 

package com.cn.controller;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSON;
import com.cn.pojo.User;
import com.cn.service.IUserService;

@Controller  
@RequestMapping("/user")  
public class UserController {
	@Resource  
    private IUserService userService;  
      
	/**
	 * 登录
	 * @return
	 */
	@ResponseBody
    @RequestMapping("/login")  
    public String toIndex(User user,HttpSession session){  
		String account=user.getAccount();
		user=userService.userLogin(user.getAccount(),user.getPwd());
		if(user!=null){
			List<Map<String,Object>> list = userService.findUserByAccount(account);
			session.setAttribute("userInfo", JSON.toJSON(list));
			session.setAttribute("account", account);
			return "true";
		}
		else{
			return "false";
		}
    }  
	/**
	 * 登录跳转
	 * @return
	 */
    @RequestMapping("/Forward")  
    public String loginForward(){  
		return "user/index";
    }  
    /**
     * 退出
     * @return
     */
    @RequestMapping("/exit")  
    public String exit(HttpSession session){  
    	session.invalidate();
    	return "login";
    }  
    /**
     * 个人信息
     * @return
     */
    @RequestMapping("/myInfo")  
    public String myInfo(HttpSession session){  
    	String account=(String) session.getAttribute("account");
    	List<Map<String,Object>> list = userService.findUserByAccount(account);
		session.setAttribute("userInfo", JSON.toJSON(list));
    	return "user/index";
    }  
    /**
     * 课程信息
     * @return
     */
    @RequestMapping("/classTable")  
    public String classTable(HttpSession session){  
    	List<Map<String,Object>> list = userService.findClass();
		session.setAttribute("classInfo", JSON.toJSON(list));
    	return "user/classTable";
    }  
    /**
     * 教练信息
     * @return
     */
    @RequestMapping("/teachList")  
    public String teachList(HttpSession session){  
    	return "user/teachList";
    }  
    /**
     * 查看教练
     * @return
     */
    @ResponseBody
    @RequestMapping("/selectTeach")  
    public String selectTeach(HttpSession session,Integer id){  
    	List<Map<String,Object>> list = userService.findSeTeach(id);
		session.setAttribute("SelectTeachInfo", JSON.toJSON(list));
		return "true";
    }  
    /**
     * 选择教练
     * @return
     */
    @ResponseBody
    @RequestMapping("/chooseTeach")  
    public String chooseTeach(Integer id,Integer cid,Integer uid){  
    	userService.chooseTeach(id,cid,uid);
    	return "true";
    }  
    /**
     * 更新个人信息
     * @return
     */
    @ResponseBody
    @RequestMapping("/updateUserInfo")  
    public String updateUserInfo(Integer id,String account,Integer sex,Integer age,String name,String pwd,String tel,String address){  
    	userService.updateUserInfo(id,account,sex,age,name,pwd,tel,address);
    	return "true";
    }  
}

SysController

 

 

package com.cn.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.cn.pojo.Admin;
import com.cn.pojo.Teach;
import com.cn.pojo.User;
import com.cn.service.IUserService;

@Controller  
@RequestMapping("/sys")  
public class SysController {
	@Resource  
    private IUserService userService;  
	SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      
	/**
	 * 管理员登录
	 * @param admin
	 * @param session
	 * @return
	 */
	@ResponseBody
    @RequestMapping("/loginAdmin")  
    public String toIndex(Admin	admin,HttpSession session){  
		admin=userService.adminLogin(admin.getName(),admin.getPwd());
		if(admin!=null){
			session.setAttribute("lastLoginTime", admin.getLastlogintime());
			session.setAttribute("account", "123");
			userService.setTime(df.format(new Date()));
			return "true";  
		}else{
			return "false";  
        }
    }  
	/**
	 * 管理员登录跳转
	 * @param session
	 * @return
	 */
	@RequestMapping("/ForwardAdmin")  
	public String loginForward(HttpSession session){  
		List<Map<String, Object>> countUserList=userService.countUser();
		session.setAttribute("countUser",countUserList);
		List<Map<String, Object>> countTeachList=userService.countTeach();
		session.setAttribute("countTeach",countTeachList);
		List<Map<String, Object>> countApparatusList=userService.countApparatus();
		session.setAttribute("countApparatus",countApparatusList);
		return "sys/main";  
	}  
	/**
	 * 用户列表
	 * @param session
	 * @return
	 */
	@RequestMapping("/userTable")  
	public String userTable(HttpSession session){  
		List<Map<String, Object>> findUserList=userService.findUser();
		session.setAttribute("findUserList",findUserList);
		return "sys/userTable";  
	}  
	/**
	 * 教练列表
	 * @param session
	 * @return
	 */
	@RequestMapping("/teachTable")  
	public String teachTable(HttpSession session){  
		List<Map<String, Object>> findUserList=userService.teachTable();
		session.setAttribute("findTeachList",findUserList);
		return "sys/teachTable";  
	}  
	/**
	 * 器材列表
	 * @param session
	 * @return
	 */
	@RequestMapping("/apparatusTable")  
	public String apparatusTable(HttpSession session){  
		List<Map<String, Object>> findUserList=userService.apparatusTable();
		session.setAttribute("findApparatusList",findUserList);
		return "sys/apparatusTable";  
	}  
	/**
	 * 退出
	 * @return
	 */
    @RequestMapping("/exit")  
    public String exit(HttpSession session){  
    	session.invalidate();
    	return "login";
    } 
    /**
     * 统计性别比例
     * @return
     */
    @ResponseBody
    @RequestMapping("/getSex")  
    public List<User> getSex(){  
    	List<User> list=userService.getSex();
    	return list;  
    }   
    /**
     * 删除用户
     * @return
     */
    @ResponseBody
    @RequestMapping("/delUser")  
    public String delUser(Integer id){  
    	userService.delUser(id);
    	return "true";  
    }   
    /**
     * 删除教练
     * @return
     */
    @ResponseBody
    @RequestMapping("/delTeach")  
    public String delTeach(Integer id){  
    	userService.delTeach(id);
    	return "true";  
    }   
    /**
     * 删除器材
     * @return
     */
    @ResponseBody
    @RequestMapping("/delApp")  
    public String delApp(Integer id){  
    	userService.delApp(id);
    	return "true";  
    }   
    /**
     * 更新用户信息
     * @return
     */
    @RequestMapping("/upUser")  
    public String upUser(Integer id,String account,Integer sex,Integer age,String name,String pwd,String tel,String address,HttpSession session){  
    	
    	List list=new ArrayList();
    	list.add(id);
    	list.add(account);
    	list.add(sex);
    	list.add(age);
    	list.add(name);
    	list.add(pwd);
    	list.add(tel);
    	list.add(address);
    	session.setAttribute("upList", list);
    	return "sys/upUser";  
    }  
    /**
     * 更新教练信息
     * @return
     */
    @RequestMapping("/upTeach")  
    public String upTeach(Integer id,String tname,Integer cid,String ttel,String taddress,HttpSession session){  
    	
    	List list=new ArrayList();
    	list.add(id);
    	list.add(tname);
    	list.add(cid);
    	list.add(ttel);
    	list.add(taddress);
    	session.setAttribute("upTeachList", list);
    	return "sys/upTeach";  
    }  
    /**
     * 添加用户
     * @param user
     * @return
     */
    @ResponseBody
    @RequestMapping("/registerUser")  
    public String registerUser(User user){  
    	List<User> id=userService.findAccount(user.getAccount());
    	if(id.size()!=0){
    		return "false";
    	}
    	userService.registerUser(user);
    	return "true";  
    }   
    @RequestMapping("/addUser")  
    public String addUser(){  
    	return "sys/addUser";  
    }   
    /**
     * 添加教练
     * @return
     */
    @RequestMapping("/addTeach")  
    public String addTeach(){  
    	return "sys/addTeach";  
    }   
    /**
     * 添加器材
     * @return
     */
    @RequestMapping("/addApp")  
    public String addApp(){  
    	return "sys/addApp";  
    }   
    /**
     * 更新用户信息
     * @return
     */
    @ResponseBody
    @RequestMapping("/upUserInfo")  
    public String upUserInfo(Integer id,String account,Integer sex,Integer age,String name,String pwd,String tel,String address){  
    	userService.updateUserInfo(id,account,sex,age,name,pwd,tel,address);
    	return "true";  
    }   
    /**
     * 更新教练信息
     * @return
     */
    @ResponseBody
    @RequestMapping(value="/upTeachInfo",method=RequestMethod.POST)  
    public String upTeach(Integer id,String tname,Integer cid,String ttel,String taddress){  
    	userService.upTeach(id,tname,cid,ttel,taddress);
    	return "true";  
    }   
    @ResponseBody
    @RequestMapping("/addTeachInfo")  
    public String addTeachInfo(Teach teach){  
    	userService.addTeachInfo(teach);
    	return "true";  
    }   
    @ResponseBody
    @RequestMapping("/addAppInfo")  
    public String addAppInfo(String aname){  
    	userService.addAppInfo(aname);
    	return "true";  
    }   
}


UserMapper.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.cn.dao.IUserDao">
    <resultMap id="BaseResultMap" type="com.cn.pojo.User">
        <id column="id" property="id" jdbcType="INTEGER"/>
        <result column="name" property="name" jdbcType="VARCHAR"/>
        <result column="pwd" property="pwd" jdbcType="VARCHAR"/>
        <result column="account" property="account" jdbcType="VARCHAR"/>
        <result column="tel" property="tel" jdbcType="VARCHAR"/>
        <result column="address" property="address" jdbcType="VARCHAR"/>
        <result column="sex" property="sex" jdbcType="INTEGER"/>
        <result column="age" property="age" jdbcType="INTEGER"/>
        <result column="uteach" property="uteach" jdbcType="INTEGER"/>
        <result column="uclass" property="uclass" jdbcType="INTEGER"/>
        <collection property="teachs" javaType="java.util.List"  ofType="com.cn.pojo.Teach">  
            <id column="id" property="id" jdbcType="INTEGER" />  
            <result column="tname" property="tname" jdbcType="VARCHAR" />  
            <result column="ttel" property="ttel" jdbcType="VARCHAR" />  
            <result column="taddress" property="taddress" jdbcType="VARCHAR" />  
            <result column="cid" property="cid" jdbcType="INTEGER"/>
        </collection>
        <collection property="courses" javaType="java.util.List"  ofType="com.cn.pojo.Course">  
            <id column="id" property="id" jdbcType="INTEGER" />  
            <result column="cname" property="cname" jdbcType="VARCHAR" />  
        </collection>
    </resultMap>
        <resultMap id="AdminResultMap" type="com.cn.pojo.Admin">
        <id column="id" property="id" jdbcType="INTEGER"/>
        <result column="name" property="name" jdbcType="VARCHAR"/>
        <result column="pwd" property="pwd" jdbcType="VARCHAR"/>
        <result column="lastlogintime" property="lastlogintime" jdbcType="VARCHAR"/>
    </resultMap>

    <select id="userLogin" resultMap="BaseResultMap" parameterType="com.cn.pojo.User">
        select  id  from user where account = #{0} and pwd = #{1}
    </select>
    <select id="findUserByAccount" resultMap="BaseResultMap" parameterType="com.cn.pojo.User">
        SELECT  u.*,t.*,c.`cname`  FROM user u,teach t,course c WHERE account = #{account} AND u.`uteach`=t.`id` AND u.`uclass`=c.`id`
    </select>
    <select id="findClass"  resultType="HashMap">
        SELECT  * FROM course 
    </select>
    <select id="findSeTeach"  resultType="HashMap">
        SELECT * FROM teach WHERE cid=#{id}
    </select>
    <select id="countUser" resultType="HashMap">
        SELECT COUNT(id) countUser FROM user  
    </select>
    <select id="countTeach" resultType="HashMap">
        SELECT COUNT(id) countTeach FROM teach  
    </select>
    <select id="countApparatus" resultType="HashMap">
        SELECT COUNT(id) countApparatus FROM apparatus   where astate=0
    </select>
    <select id="findAccount" resultType="HashMap">
        SELECT id  FROM user where account=#{account}  
    </select>
    <update id="chooseTeach">
		update user
		<set>
			uteach=#{0},uclass=#{1}
		</set>
		where id=#{2}
	</update>
    <update id="updateUserInfo">
		update user
		<set>
			account=#{account},
			<if test="sex!=null">
      		   sex = ${sex},
      		</if>
			<if test="age!=null">
      		  age = ${age},
      		</if>
			<if test="name!=null">
      		  name = #{name},
      		</if>
			<if test="pwd!=null">
      		  pwd = #{pwd},
      		</if>
			<if test="tel!=null">
      		  tel = #{tel},
      		</if>
			<if test="address!=null">
      		  address = #{address},
      		</if>
		</set>
		where id=#{id}
	</update>
    <update id="upTeach">
		update teach
		<set>
			cid=${cid},
			<if test="tname!=null">
      		  tname = #{tname},
      		</if>
			
			<if test="ttel!=null">
      		  ttel = #{ttel},
      		</if>
			<if test="taddress!=null">
      		  taddress = #{taddress},
      		</if>
		</set>
		where id=#{id}
	</update>
    <select id="adminLogin"  parameterType="com.cn.pojo.Admin" resultMap="AdminResultMap" >
        SELECT lastlogintime FROM admin WHERE name=#{name} and pwd=#{pwd}
    </select>
    <update id="setTime">
		update admin
		<set>
			lastlogintime=#{format}
		</set>
		where name='admin'
	</update>
    <update id="delApp">
		update apparatus
		<set>
			astate=1
		</set>
		where id=#{id}
	</update>
	<select id="getSex" resultType="hashmap">
		SELECT sex ,COUNT(sex) AS num FROM user GROUP BY sex
	</select>
	<select id="findUser" resultType="hashmap">
		SELECT * FROM user 
	</select>
	<select id="teachTable" resultType="hashmap">
		SELECT * FROM teach 
	</select>
	<select id="apparatusTable" resultType="hashmap">
		SELECT * FROM apparatus where astate=0
	</select>
	<insert id="registerUser"  useGeneratedKeys="true">
  		insert into user(id,name, pwd,account,age,sex,tel,address) values(null, #{name}, #{pwd}, #{account}, ${age},${sex},#{tel},#{address})
	</insert>
	<insert id="addTeachInfo"  useGeneratedKeys="true">
  		insert into teach(id,tname,cid,ttel,taddress) values(null, #{tname}, #{cid}, #{ttel}, #{taddress})
	</insert>
	<insert id="addAppInfo"  useGeneratedKeys="true">
  		insert into apparatus(id,aname,astate) values(null, #{aname}, 0)
	</insert>
	<delete id="delUser">
	 DELETE FROM user where id=#{id}
	</delete>
	<delete id="delTeach">
	 DELETE FROM teach where id=#{id}
	</delete>

</mapper>

 


项目DEMO地址

项目演示连接 账号密码详见

 

 

 

 

 

 

 

 

 

已标记关键词 清除标记
<div style="color:#444444;"> 适用人群 <p style="color:#666666;"> 所有的IT从业者,尤其适合快速掌握新技术,快速增长工作经验人群,对教育公平,教育公益,教育爱心公益人士 </p> </div> <p> </p> 课程概述 <p> 该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户管理等功能。<br /> 【后端技术】<br /> 技术 说明<br /> Spring Boot2 MVC框架 开发的一站式解决方案<br /> Spring Security5  认证和授权框架<br /> MyBatisPlus3.3.1  基于 MyBatis 框架的快速研发框架<br /> MyBatisCode工具 生成 MyBatis 相关代码<br /> Jackson 提供了处理 JSON 数据的工具<br /> Lombok 简化对象封装工具 <br /> Druid   数据库连接池 <br /> 【前端技术】<br /> Vue        互联网最火的前端框架<br /> Vue Router 路由框架<br /> Vuex 全局状态管理框架<br /> Axios 前端 HTTP 框架<br /> Element UI 前端 UI 框架<br /> Vue Element Admin 前端模板<br /> Antv  蚂蚁金服可视化技术,阿里巴巴可视化技术,天猫,淘宝,支付宝,花呗均使用AntV<br /> 【开发工具】<br /> IntelliJ IDEA 开发 IDE<br /> SQLyog 数据库连接客户端<br /> Postman HTTP 请求工具<br /> 【开发环境】<br /> 工具 版本<br /> JDK 1.8 </p> <p> MySQL 5.7 </p> <p> <img src="https://img-bss.csdn.net/202004100922276928.png" alt="" /><img src="https://img-bss.csdn.net/202004100922434479.png" alt="" /><img src="https://img-bss.csdn.net/202004100922566924.png" alt="" /><img src="https://img-bss.csdn.net/202004100923062693.png" alt="" /></p> <p> <br /></p> <p> <br /></p>
<p> <span style="color:#333333;"><strong></strong></span> </p> <span style="font-size:24px;">一、简介</span> <p> <span style="font-size:12px;"></span> </p> <p> <span style="font-size:16px;">通过这个课程带大家从零开发一款功能全面的后台管理系统,包括项目搭建、功能实现到最后的Linux系统部署全过程。本课程使用SpringMVC + Spring + Mybatis作为主体框架,使用AdminLTE作为前端框架,使用主流关系型数据库Mysql作为存储数据库,使用非关系型数据库Redis作为缓存数据库,并集成SpringSecuriy安全框架做权限的动态管理,集成Swagger2自动生成接口文档,集成Druid连接池进行SQL性能监控,集成ActiveMQ消息中间件进行异步解耦,提高性能。最后使用linux系统进行服务部署,并搭建nginx反向代理服务器提高网站性能。</span> </p> <p> <br /> </p> <p> <span style="font-size:24px;"><strong>二、学习目标</strong></span> </p> <p> <span style="font-size:16px;">通过本课程的学习带大家掌握SSM框架的开发流程,并熟练使用SpringSecurity做为安全框架进行权限管理,整合相关优秀的开源框架进行功能开发。还在项目中带大家学习前端相关的Jquery、Bootstrap等知识。课程结束之后希望大家能做到独立进行开发项目的目的,增强解决问题的能力,具备功能落地实现的能力。</span> </p> <p> <span style="font-size:16px;"><span style="font-size:24px;"><strong>三、课程涉及知识点</strong></span></span> </p> <p> <span style="font-size:16px;"></span> </p> <ul> <li> SpringMVC源码分析 </li> <li> Mybatis源码分析 </li> <li> 通用Mapper </li> <li> Mysql数据库 </li> <li> Redis缓存实现 </li> <li> ActiveMQ消息中间件 </li> <li> SpringSecurity鉴权 </li> <li> Swagger2接口文档生成 </li> <li> 自定义注解 </li> <li> AOP切面编程 </li> <li> 自定义过滤器 </li> <li> Logback日志整合 </li> <li> Druid性能监控 </li> <li> Linux系统 </li> <li> Nginx反向代理 </li> <li> Ajax异步请求技术 </li> <li> Jquery基本使用 </li> <li> AdminLTE前端框架 </li> <li> Chart图表-线状图和饼状图 </li> <li> 百度地图定位城市 </li> <li> BootStrap前端框架 </li> <li> BootStrap-Table插件 </li> <li> BootStrap-Treeview插件 </li> <li> Markdown编辑器 </li> <li> 403、404、500错误页面配置 </li> <li> 数据库事务 </li> <li> 消息提示插件toastr.js </li> <li> 图片上传插件bootstrap fileinput </li> <li> 数字滚动效果 </li> <li> pv/uv流量统计 </li> <li> ... </li> </ul> <p> <br /> </p> <p> <span style="font-size:16px;"><span style="font-size:24px;"><strong>四、</strong></span><span style="font-size:24px;"><strong>课程部分内容截图如下</strong></span><span style="font-size:24px;"><strong></strong></span></span> </p> <p> <span style="font-size:18px;"><span style="font-size:18px;"><strong>1、首页</strong></span></span> </p> <p> <span style="font-size:16px;"><span style="font-size:24px;"><strong><span></span><span><img alt="" src="https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5kcmVhbWxhbmQud2FuZy9pbWFnZXMvaW1hZ2UvMjAxOTA5MTkvMjAxOTA5MTkxMTE1MTJfMTM5LnBuZw?x-oss-process=image/format,png" /></span></strong></span></span> </p> <p> <span style="font-size:24px;"><span style="font-size:24px;"><strong><span style="font-size:24px;">2、菜单管理</span></strong></span></span> </p> <p> <span style="font-size:24px;"><span style="font-size:24px;"><strong><span style="font-size:24px;"><span></span><span><img alt="" src="https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5kcmVhbWxhbmQud2FuZy9pbWFnZXMvaW1hZ2UvMjAxOTA5MTkvMjAxOTA5MTkxMTE3MjBfNzE5LnBuZw?x-oss-process=image/format,png" /></span><br /> </span></strong></span></span> </p> <p> <span></span> </p> <p> <span><span style="font-size:24px;"><strong>3、图床管理</strong></span><span style="font-size:24px;"><strong></strong></span><br /> </span> </p> <p> <span><span style="font-size:24px;"><strong><span></span><span><img alt="" src="https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5kcmVhbWxhbmQud2FuZy9pbWFnZXMvaW1hZ2UvMjAxOTA5MTkvMjAxOTA5MTkxMTIwMTJfNjYwLnBuZw?x-oss-process=image/format,png" /><span></span></span><span></span><br /> </strong></span></span> </p> <p> <span><span style="font-size:24px;"><strong>4、图标管理<br /> </strong></span></span> </p> <p> <span><span style="font-size:24px;"><strong><span></span><span><img alt="" src="https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5kcmVhbWxhbmQud2FuZy9pbWFnZXMvaW1hZ2UvMjAxOTA5MTkvMjAxOTA5MTkxMTIxMDBfMTcucG5n?x-oss-process=image/format,png" /><span></span></span><span></span></strong></span></span> </p> <p> <span><span style="font-size:24px;"><strong>5、留言反馈管理<br /> </strong></span></span> </p> <p> <span><span style="font-size:24px;"><strong><span></span><span><img alt="" src="https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5kcmVhbWxhbmQud2FuZy9pbWFnZXMvaW1hZ2UvMjAxOTA5MjEvMjAxOTA5MjExMDEwMTJfMzQ2LnBuZw?x-oss-process=image/format,png" /><span></span></span><span></span></strong></span></span> </p> <p> <span><span style="font-size:24px;"><strong>6、druid监控<br /> </strong></span></span> </p> <p> <span></span><span><img alt="" src="https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5kcmVhbWxhbmQud2FuZy9pbWFnZXMvaW1hZ2UvMjAxOTA5MTkvMjAxOTA5MTkxMTIzMzVfNTgwLnBuZw?x-oss-process=image/format,png" /></span> </p> <p> <br /> </p> <p> <span style="font-size:24px;"><strong></strong></span><span style="font-size:24px;"><strong>7、登录日志</strong></span><span style="font-size:24px;"><strong></strong></span> </p> <p> <span style="font-size:24px;"><strong><span></span><span><img alt="" src="https://imgconvert.csdnimg.cn/aHR0cDovL3d3dy5kcmVhbWxhbmQud2FuZy9pbWFnZXMvaW1hZ2UvMjAxOTA5MTkvMjAxOTA5MTkxMTI0MzJfOTQyLnBuZw?x-oss-process=image/format,png" /><span></span></span><span></span><br /> </strong></span> </p> <p> <br /> </p>
相关推荐
<p>      掌握基于腾讯人工智能(AI)的车牌识别技术,使用车牌识别技术实现一个完整的停车场管理系统,项目包括网页调用摄像头拍照,车牌拍照识别,上传车牌图片识别,用户管理,车辆管理(临时车与包月车),车辆出场,入场管理,停车费收费管理,按照临时车或包月车自动计算停车费,系统参数设置,修改用户密码及安全退出等功能,该系统采用Jsp技术,使用SSM框架,Mysql数据库,ajax技术及人工智能等相关技术实现。</p> <h2><span style="color: #e03e2d;">重要通知:本课程根据腾讯AI车牌识别新接口,更新了新接口源代码,发布程序,购买了课程的同学可以下载新程序,包括(运行程序及源代码),更新时间:2021-2-17</span><br /><br /><span style="color: #e53333;">项目开发技术:java,jsp,mysql,MyBatis,SpringMVC,jquery,ajax,json</span><br /><span style="color: #e53333;">项目运行环境:jdk1.7及以上版本,tomcat6.0及以上版本,mysql5.5及以上版本</span><br /><span style="color: #e53333;">项目开发工具: 本项目开发工具是Eclipse,也支持myEclipse,Intellij Idea等其他版本开发工具</span><br /><br /></h2> <p style="color: #333333;"><span style="font-size: 20px;"><span style="color: #ff0000;"><strong>相关课程学习顺序</strong></span></span></p> <p style="color: #333333;">本校课程是培养JAVA软件工程师及JSP WEB网络应用程序开发,android工程师的全套课程,课程学习顺序如下:<br /><span style="color: #ff0000;"><strong>JAVA初级工程师:</strong></span><br />    1、计算机基础<br />    2、HTML语言基础<br />    3、C语言从入门到精通+贪吃蛇游戏<br />    4、贪吃蛇游戏<br />    5、SQL SERVER数据库基础<br />    6、JAVA从入门到精通+推箱子游戏+QQ即时通讯软件<br />    7、推箱子游戏;<br />    8、仿QQ即时通讯软件;<br /><span style="color: #ff0000;"><strong>JAVA中级工程师:</strong></span><br />    9、SQLSERVER数据库高级<br />    10、SQLSERVER从入门到精通(基础+高级)<br />              11、JavaScript从入门到精通,<br />    12、JSP从入门到精通+点餐系统,<br />    13、JSP从入门到精通+在线视频学习教育平台,<br />    14、JSP从入门到精通+大型电商平台;<br />    15、XML从入门到精通,<br />    16、数据结构(JAVA版),<br /><span style="color: #ff0000;"><strong>JAVA高级工程师:</strong></span><br />    17、Oracle数据库从入门到精通,<br />    18、ajax+jquery从入门到精通,<br />    19、EasyUI从入门到精通,<br /><span style="color: #ff0000;"><strong>SSH框架:</strong></span><br />    20、Struts2从入门到精通课程,<br />    21、Hibernate从入门到精通课程,<br />    22、Spring从入门到精通课程;<br />    23、Echarts从入门到精通,<br />    24、Excel基于POI的导入导出<br /><span style="color: #ff0000;"><strong>工作流框架:</strong></span><br />    25、Activiti流程框架从入门到精通<br />    26、JBPM流程框架从入门到精通<br /><span style="color: #ff0000;"><strong>SSM框架:</strong></span><br />    27、MyBatis从入门到精通<br />    28、Spring MVC从入门到精通<br /><span style="color: #ff0000;"><strong>面试题:</strong></span><br />    29、职业生涯规划及面试题集锦<br /><span style="color: #ff0000;"><strong>商业项目:</strong></span><br />    30、微信公众号在线支付系统<br />    31、微信生活缴费在线支付系统<br />    32、支付宝生活缴费在线支付系统<br />    33、在线考试系统<br />    34、手机订餐管理系统,<br />    35、CRM客户关系管理系统<br />    36、大型房地产CRM销售管理系统<br />    37、CMPP2,CMPP3移动网关系统<br /><span style="color: #ff0000;"><strong>人工智能:</strong></span><br />    38、人脸识别在线考试系统<br />    39、人脸识别系统项目实战<br />    40、车牌识别系统项目实战<br />    41、身份证识别系统项目实战<br />    42、营业执照识别系统项目实战</p> <p style="color: #333333;">          43、名片识别管理系统</p>
©️2020 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页