我的项目介绍

  1. 本零碎应用Struts2+Spring+Hibernate架构,数据库应用MySQL,连接池应用c3p0。
  2. 模拟花礼网进行前端设计与开发,实现网站导航、商品分类展现,商品详情、商品检索、购物车等性能。
  3. 应用EasyUI实现后盾对商品分类、商品信息、用户信息、订单信息的治理,包含增删改查,文件上传等。

我的项目适用人群

正在做毕设的学生,或者须要我的项目实战练习的Java学习者

开发环境

  1. jdk 8
  2. intellij idea
  3. tomcat 8.5.40
  4. mysql 5.7

所用技术

  1. Struts2+Spring+Hibernate
  2. js+ajax
  3. easyUI

    我的项目架构


我的项目截图

  • 注册

  • 首页

  • 商品详情

  • 购物车

  • 治理端-类别治理

  • 治理端-商品治理

  • 治理端-订单治理

数据库配置

<!-- c3p0 数据源 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"    destroy-method="close">    <property name="driverClass" value="com.mysql.jdbc.Driver" />    <property name="jdbcUrl"        value="jdbc:mysql://localhost:3306/db_flower?useUnicode=true&amp;characterEncoding=utf8" />    <property name="user" value="root" />    <property name="password" value="root123" />    <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->    <property name="initialPoolSize" value="1" />    <!--连接池中保留的最小连接数。 -->    <property name="minPoolSize" value="1" />    <!--连接池中保留的最大连接数。Default: 15 -->    <property name="maxPoolSize" value="300" />    <!--最大闲暇工夫,60秒内未应用则连贯被抛弃。若为0则永不抛弃。Default: 0 -->    <property name="maxIdleTime" value="60" />    <!--当连接池中的连贯耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->    <property name="acquireIncrement" value="5" />    <!--每60秒查看所有连接池中的闲暇连贯。Default: 0 -->    <property name="idleConnectionTestPeriod" value="60" /></bean>

要害代码

  1. 分页对象
public class PageModel<T> {    // 当前页号    private int pageNo = 1;    // 每页记录数    private int pageSize = 10;    // 总记录数    private int recordCount;    // 总页数    private int pageCount;    // 寄存分页数据的汇合    private List<T> datas;}
  1. struts.xml
<struts>    <!--应用spring创立治理struts2的action操作 -->    <constant name="struts.objectFactory" value="spring" />    <!-- 设置struts2的编码为UTF8 -->    <constant name="struts.i18n.encoding" value="UTF-8"></constant>    <!-- 不应用浏览器缓存 -->    <constant name="struts.serve.static.browserCache" value="false"></constant>    <!-- 每次从新加载xml配置文件 -->    <constant name="struts.configuration.xml.reload" value="true"></constant>    <!-- 启用开发者模式 -->    <constant name="struts.devMode" value="true"></constant>    <!-- 不应用struts2提供的主题ui -->    <constant name="struts.ui.theme" value="simple"></constant>    <!-- 提供对通配符的反对 -->    <constant name="strutsenableDynamicMethodInvocation" value="true" />    <!-- 须要拦挡未登录用户的包 -->    <package name="login" namespace="/" extends="struts-default">        <!-- 配置拦挡未登录用户的拦截器 -->        <interceptors>            <interceptor name="userInter"                class="com.flowershopping.tool.UserInterceptor"></interceptor>            <interceptor-stack name="userStack">                <interceptor-ref name="defaultStack"></interceptor-ref>                <interceptor-ref name="userInter"></interceptor-ref>            </interceptor-stack>        </interceptors>        <!-- 须要拦挡的action 登记 和 提交订单 -->        <!-- 设置默认拦截器 -->        <default-interceptor-ref name="userStack"></default-interceptor-ref>        <!-- 拦挡后果解决 -->        <global-results>            <result name="login" type="redirect">/jsp/login/login.jsp</result>        </global-results>        <!-- 登记 -->        <action name="logout" class="userAction" method="logout">            <result name="success">/jsp/index/index.jsp</result>        </action>        <!-- 提交订单 -->        <action name="addOrder" class="ordersAction" method="addOrder">            <result name="success">/jsp/shopping/orderAdded.jsp</result>        </action>    </package>    <!-- 须要进行未登录管理员拦挡的包 -->    <package name="admin" namespace="/" extends="struts-default">        <!-- 配置拦挡未登录管理员的拦截器 -->        <interceptors>            <interceptor name="adminInter"                class="com.flowershopping.tool.AdminInterceptor"></interceptor>            <interceptor-stack name="adminStack">                <interceptor-ref name="defaultStack"></interceptor-ref>                <interceptor-ref name="adminInter"></interceptor-ref>            </interceptor-stack>        </interceptors>        <!-- 须要拦挡的action 查看所有用户 查看订单 增加商品 -->        <!-- 设置默认拦截器 -->        <default-interceptor-ref name="adminStack"></default-interceptor-ref>        <!-- 拦挡后果解决 -->        <global-results>            <result name="login" type="redirect">/jsp/login/admin.jsp</result>        </global-results>        <!-- 查看所有用户 -->        <action name="findAllUsers" class="userAction" method="findAllUsers">            <result name="success">/jsp/admin/manageUsers.jsp</result>        </action>        <!-- 查看订单 -->        <action name="findAllOrders" class="ordersAction" method="findAllOrders">            <result name="success">/jsp/admin/manageOrders.jsp</result>        </action>        <!-- 增加商品 -->        <action name="addGoods" class="goodsAction" method="addGoods">        </action>    </package>    <!-- 其余包 -->    <package name="default" namespace="/" extends="struts-default,json-default"        strict-method-invocation="false">        <global-results>            <result name="jsonMap" type="json">                <param name="root">pageMap</param>            </result>            <result name="stream" type="stream">                <param name="inputName">inputStream</param>            </result>        </global-results>        <!-- 商品分类 -->        <action name="category_*" class="categoryAction" method="{1}">            <result name="findCategories_success">/jsp/index/header.jsp</result>        </action>        <!-- 商品信息 -->        <action name="goods_*" class="goodsAction" method="{1}">            <result name="findGoodsByCategory_success">/jsp/index/contentByCategory.jsp</result>            <result name="findAllGoods_success">/jsp/index/content.jsp</result>            <result name="findOne_success">/jsp/shopping/product.jsp</result>            <result name="findGoodsByKey_success">/jsp/shopping/searchResult.jsp</result>            <result name="findGoodsByKeys_success">/jsp/shopping/searchResult.jsp</result>        </action>        <!-- 用户 -->        <action name="user_*" class="userAction" method="{1}">            <result name="checkUser_success">/jsp/index/index.jsp</result>            <result name="checkUser_error">/jsp/login/login.jsp</result>            <result name="checkAdmin_success">/jsp/admin/main.jsp</result>            <result name="checkAdmin_error">/jsp/login/admin.jsp</result>            <result name="addUser_success">/jsp/index/index.jsp</result>            <result name="updateUser_success">/jsp/login/userinfocenter.jsp</result>        </action>        <!-- 订单 -->        <action name="orders_*" class="ordersAction" method="{1}">            <result name="addToCart_success">/jsp/shopping/showCart.jsp</result>            <result name="myOrder">/jsp/shopping/myOrder.jsp</result>            <result name="updateCart_error">/jsp/shopping/showCartErro.jsp</result>            <result name="login" type="redirect">/jsp/login/login.jsp</result>        </action>    </package></struts>

资源下载地址:https://download.csdn.net/dow...
程序有问题分割程序帮

我的项目后续

其余ssh,ssm,springboot版本后续迭代更新,继续关注