共计 5560 个字符,预计需要花费 14 分钟才能阅读完成。
我的项目介绍
- 本零碎应用 Struts2+Spring+Hibernate 架构,数据库应用 MySQL, 连接池应用 c3p0。
- 模拟花礼网进行前端设计与开发,实现网站导航、商品分类展现,商品详情、商品检索、购物车等性能。
- 应用 EasyUI 实现后盾对商品分类、商品信息、用户信息、订单信息的治理,包含增删改查,文件上传等。
我的项目适用人群
正在做毕设的学生,或者须要我的项目实战练习的 Java 学习者
开发环境
- jdk 8
- intellij idea
- tomcat 8.5.40
- mysql 5.7
所用技术
- Struts2+Spring+Hibernate
- js+ajax
- 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&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>
要害代码
- 分页对象
public class PageModel<T> {
// 当前页号
private int pageNo = 1;
// 每页记录数
private int pageSize = 10;
// 总记录数
private int recordCount;
// 总页数
private int pageCount;
// 寄存分页数据的汇合
private List<T> datas;
}
- 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 版本后续迭代更新,继续关注
正文完