请选择 进入手机版 | 继续访问电脑版
设为首页 收藏本站
开启辅助访问 切换到宽版

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

切换风格 立即注册 找回密码

Java教程网

查看: 51567|回复: 77

SSH网络商城

  [复制链接]
发表于 2016-4-1 15:23:03 | 显示全部楼层 |阅读模式
系统介绍
本系统为SSH网络商城主要分为:前台游客浏览、普通用户操作和后台管理3部分。结合目前网上购物平台系统的设计方案,本项目具有以下特点:界面设计美观大方、操作简单。功能完善、结构清晰。普通用户的购物操作。能够实现后台用户和商品管理。能够实现推荐商品的操作。能够实现后台对用户、订单、商品的管理。
操作注意事项
(1)进用后台地址为:http://localhost:8080/shopping/admin/user/user_login.html
本系统的后台用户名为:admin,密码为:admin。前台登录用户名是:javajcw 密码:123456
(2)系统注册页面中提供了验证信息,用户只有添加了合法的信息后,才能注册成功。
操作流程
(1)通过系统首页,可实现浏览系统推荐商品、热销商品、以及各种分类商品等内容,也可以通过首页提供的“登录”、“注册”超链接来登录系统或注册新用户。
注意
由于需要与银行交互,一些页面无法实现,读者可以根据自己的需要模拟实现相应功能。

代码如下:
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>商品信息列表</title>
  8. <style type="text/css">
  9. li {
  10. list-style: none;
  11. border-bottom: dashed #99CC66 1px;
  12. margin-bottom: 10px;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <%@ include file="/WEB-INF/pages/common/head.jsp"%>
  18. <div id="box">
  19. <div id="right">
  20. <!-- 商品排行 -->
  21. <div id="rqpgb">
  22. <table width="195" border="0" cellpadding="0" cellspacing="0">
  23. <tr>
  24. <td width="199" height="31"><img
  25. src="${context_path}/css/images/index_28.gif" width="195" height="29" /></td>
  26. </tr>
  27. <tr>
  28. <td height="5"></td>
  29. </tr>
  30. <tr>
  31. <td valign="top"><s:action name="product_findByClick"
  32. namespace="/product" executeResult="true"></s:action></td>
  33. </tr>
  34. </table>
  35. </div>
  36. <!-- 推荐商品 -->
  37. <div id="xpss">
  38. <table width="195" border="0" cellpadding="0"
  39. cellspacing="0">
  40. <tr>
  41. <td width="195" height="31"><img
  42. src="${context_path}/css/images/08.gif" width="195" height="29" /></td>
  43. </tr>
  44. <tr>
  45. <td height="5"></td>
  46. </tr>
  47. <tr>
  48. <td valign="top">
  49. <s:action name="product_findByCommend" namespace="/product" executeResult="true"></s:action>
  50. </td>
  51. </tr>
  52. </table>
  53. </div>
  54. <!-- 热销商品 -->
  55. <div id="rxsp">
  56. <table width="195" border="0" cellpadding="0" cellspacing="0">
  57. <tr>
  58. <td width="195" height="31"><img
  59. src="${context_path}/css/images/index_47.gif" width="195" height="29" /></td>
  60. </tr>
  61. <tr>
  62. <td height="5"></td>
  63. </tr>
  64. <tr>
  65. <td valign="top"><s:action name="product_findBySellCount"
  66. namespace="/product" executeResult="true"></s:action></td>
  67. </tr>
  68. </table>
  69. </div>
  70. </div>
  71. <!-- 商品信息列表 -->
  72. <div id="right_sp">
  73. <div id="zitiao"><img src="${context_path}/css/images/
  74. <s:property default='02.gif' value='image.url'/>"
  75. width="676" height="31" /></div>
  76. <div id="xshangpin">
  77. <s:if test="pageModel != null && pageModel.list.size() > 0">
  78. <s:iterator value="pageModel.list">
  79. <ul>
  80. <li>
  81. <table border="0" width="100%" cellpadding="0" cellspacing="0">
  82. <tr>
  83. <td rowspan="5" width="160">
  84. <s:a action="product_select" namespace="/product" >
  85. <s:param name="id" value="id"></s:param>
  86. <img width="150" height="150" src="<s:property value="#request.get('javax.servlet.forward.context_path')"/>/upload/<s:property value="uploadFile.path"/>">
  87. </s:a>
  88. </td>
  89. </tr>
  90. <tr bgcolor="#f2eec9">
  91. <td align="right" width="90">商品名称:</td>
  92. <td>
  93. <s:a action="product_select" namespace="/product" >
  94. <s:param name="id" value="id"></s:param>
  95. <s:property value="name" />
  96. </s:a>
  97. </td>
  98. </tr>
  99. <tr>
  100. <td align="right" width="90">市场价格:</td>
  101. <td>
  102. <font style="text-decoration: line-through;">
  103. <s:property value="marketprice"/>
  104. </font>
  105. </td>
  106. </tr>
  107. <tr bgcolor="#f2eec9">
  108. <td align="right" width="90">天下淘价格:</td>
  109. <td>
  110. <s:property value="sellprice" />
  111. <s:if test="sellprice <= marketprice">
  112.  <font color="red">节省<s:property value="marketprice-sellprice"/></font>
  113. </s:if>
  114. </td>
  115. </tr>
  116. <tr>
  117. <td colspan="2" align="right">
  118. <s:a action="product_select" namespace="/product" >
  119. <s:param name="id" value="id"></s:param>
  120. <img src="${context_path}/css/images/gm_06.gif" width="136" height="32" />
  121. </s:a>
  122. </td>
  123. </tr>
  124. </table>
  125. </li>
  126. </ul>
  127. </s:iterator>
  128. <s:url var="first">
  129. <s:param name="pageNo" value="1"></s:param>
  130. <s:param name="category.id" value="category.id"></s:param>
  131. <s:param name="product.name" value="product.name"></s:param>
  132. </s:url>
  133. <s:url var="previous">
  134. <s:param name="pageNo" value="pageModel.pageNo-1"></s:param>
  135. <s:param name="category.id" value="category.id"></s:param>
  136. <s:param name="product.name" value="product.name"></s:param>
  137. </s:url>
  138. <s:url var="last">
  139. <s:param name="pageNo" value="pageModel.bottomPageNo"></s:param>
  140. <s:param name="category.id" value="category.id"></s:param>
  141. <s:param name="product.name" value="product.name"></s:param>
  142. </s:url>
  143. <s:url var="next">
  144. <s:param name="pageNo" value="pageModel.pageNo+1"></s:param>
  145. <s:param name="category.id" value="category.id"></s:param>
  146. <s:param name="product.name" value="product.name"></s:param>
  147. </s:url>
  148. <s:include value="/WEB-INF/pages/common/page.jsp"></s:include>
  149. </s:if>
  150. <s:else>
  151. <p>对不起,还没有添加商品信息。</p>
  152. <s:a action="index">返回主页</s:a>
  153. </s:else>
  154. </div>
  155. </div>
  156. </div>
  157. </body>
  158. </html>
  159. <DIV class=blockcode>
  160. <BLOCKQUOTE>package com.lyq.action;

  161. import java.util.HashSet;
  162. import java.util.Map;
  163. import java.util.Set;

  164. import org.apache.struts2.interceptor.ApplicationAware;
  165. import org.apache.struts2.interceptor.RequestAware;
  166. import org.apache.struts2.interceptor.SessionAware;
  167. import org.springframework.beans.factory.annotation.Autowired;

  168. import com.lyq.dao.order.OrderDao;
  169. import com.lyq.dao.product.ProductCategoryDao;
  170. import com.lyq.dao.product.ProductDao;
  171. import com.lyq.dao.product.UploadFileDao;
  172. import com.lyq.dao.user.CustomerDao;
  173. import com.lyq.dao.user.UserDao;
  174. import com.lyq.model.order.OrderItem;
  175. import com.lyq.model.user.Customer;
  176. import com.lyq.model.user.User;
  177. import com.opensymphony.xwork2.ActionSupport;
  178. /**
  179. * 基本Action对象,其它Action的父类
  180. */
  181. public class BaseAction extends ActionSupport implements RequestAware,
  182. SessionAware, ApplicationAware {
  183. private static final long serialVersionUID = 1L;
  184. protected Integer id;
  185. protected Integer[] ids;
  186. protected int pageNo = 1;
  187. protected int pageSize = 3;

  188. public static final String LIST = "list";
  189. public static final String EDIT = "edit";
  190. public static final String ADD = "add";
  191. public static final String SELECT = "select";
  192. public static final String QUERY = "query";
  193. public static final String LEFT = "left";
  194. public static final String RIGHT = "right";
  195. public static final String INDEX = "index";
  196. public static final String MAIN = "main";
  197. public static final String MANAGER = "manager";
  198. public static final String TOP = "top";
  199. public static final String REG = "reg";
  200. public static final String USER_LOGIN = "userLogin";
  201. public static final String CUSTOMER_LOGIN = "customerLogin";
  202. public static final String LOGOUT = "logout";
  203. // 获取用户id
  204. // 获取用户对象
  205. public Customer getLoginCustomer(){
  206. if(session.get("customer") != null){
  207. return (Customer) session.get("customer");
  208. }
  209. return null;
  210. }
  211. // 获取管理员id
  212. // 获取管理员对象
  213. public User getLoginUser(){
  214. if(session.get("admin") != null){
  215. return (User) session.get("admin");
  216. }
  217. return null;
  218. }
  219. // 从session中取出购物车
  220. @SuppressWarnings("unchecked")
  221. protected Set<OrderItem> getCart(){
  222. Object obj = session.get("cart");
  223. if(obj == null){
  224. return new HashSet<OrderItem>();
  225. }else{
  226. return (Set<OrderItem>) obj;
  227. }
  228. }

  229. // 注入Dao
  230. @Autowired
  231. protected ProductCategoryDao categoryDao;
  232. @Autowired
  233. protected ProductDao productDao;
  234. @Autowired
  235. protected OrderDao orderDao;
  236. @Autowired
  237. protected UserDao userDao;
  238. @Autowired
  239. protected CustomerDao customerDao;
  240. @Autowired
  241. protected UploadFileDao uploadFileDao;


  242. // Map类型的request
  243. protected Map<String, Object> request;
  244. // Map类型的session
  245. protected Map<String, Object> session;
  246. // Map类型的application
  247. protected Map<String, Object> application;

  248. @Override
  249. public void setRequest(Map<String, Object> request) {
  250. // 获取Map类型的request赋值
  251. this.request = request;
  252. }
  253. @Override
  254. public void setApplication(Map<String, Object> application) {
  255. // 获取Map类型的application赋值
  256. this.application = application;
  257. }
  258. @Override
  259. public void setSession(Map<String, Object> session) {
  260. // 获取Map类型的session赋值
  261. this.session = session;
  262. }

  263. // 处理方法
  264. public String index() throws Exception {
  265. return INDEX;
  266. }
  267. public String manager() throws Exception {
  268. return MANAGER;
  269. }
  270. public String main() throws Exception {
  271. return MAIN;
  272. }
  273. public String add() throws Exception {
  274. return ADD;
  275. }
  276. public String select() throws Exception {
  277. return SELECT;
  278. }
  279. public String execute() throws Exception {
  280. return SUCCESS;
  281. }
  282. public String top() throws Exception {
  283. return TOP;
  284. }
  285. public String left() throws Exception {
  286. return LEFT;
  287. }
  288. public String right() throws Exception {
  289. return RIGHT;
  290. }
  291. public String reg() throws Exception{
  292. return REG;
  293. }
  294. public String query() throws Exception{
  295. return QUERY;
  296. }
  297. // getter和settter方法
  298. public Integer[] getIds() {
  299. return ids;
  300. }
  301. public void setIds(Integer[] ids) {
  302. this.ids = ids;
  303. }
  304. public int getPageNo() {
  305. return pageNo;
  306. }
  307. public void setPageNo(int pageNo) {
  308. this.pageNo = pageNo;
  309. }
  310. public Integer getId() {
  311. return id;
  312. }
  313. public void setId(Integer id) {
  314. this.id = id;
  315. }
  316. }
复制代码

效果图
登录界面.png

付款界面.png

购物界面.png

后台界面.png
后台主界面.png

主界面.png

注册界面.png
下载地址:
游客,如果您要查看本帖隐藏内容请回复


特别说明:
本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
如有侵犯您的版权,请及时联系我们,我们将尽快处理。



来自群组: java开发组
生活要懂得规划

新浪微博达人勋

6622

积分

1654

帖子

1656

贡献

Rank: 8Rank: 8

积分
6622
发表于 2016-4-1 15:24:51 | 显示全部楼层
占坑编辑ing
 楼主| 发表于 2016-4-1 15:28:02 | 显示全部楼层
不错的SSH网络商城源码

新浪微博达人勋

812

积分

445

帖子

49

贡献

Rank: 4

积分
812

社区QQ达人

发表于 2016-4-1 16:33:54 | 显示全部楼层
太棒了,感谢楼主

新浪微博达人勋

41

积分

7

帖子

9

贡献

Rank: 1

积分
41

社区QQ达人

发表于 2016-4-3 21:21:15 | 显示全部楼层
下来学习一下下

新浪微博达人勋

6519

积分

1629

帖子

1630

贡献

Rank: 8Rank: 8

积分
6519

社区QQ达人活跃会员

发表于 2016-4-5 22:32:43 | 显示全部楼层
楼下的接上

新浪微博达人勋

7208

积分

1833

帖子

1770

贡献

Rank: 8Rank: 8

积分
7208

社区QQ达人最佳新人活跃会员热心会员

发表于 2016-4-5 23:12:44 | 显示全部楼层
呵呵。。。

新浪微博达人勋

3697

积分

1907

帖子

426

贡献

Rank: 7Rank: 7Rank: 7

积分
3697

社区QQ达人最佳新人活跃会员热心会员灌水之王优秀版主

发表于 2016-4-8 08:45:13 | 显示全部楼层
太棒了,感谢楼主

新浪微博达人勋

6623

积分

1655

帖子

1656

贡献

Rank: 8Rank: 8

积分
6623
发表于 2016-4-11 18:23:04 | 显示全部楼层
支持楼主,用户楼主,楼主英明呀!!!

新浪微博达人勋

20

积分

3

帖子

4

贡献

Rank: 1

积分
20

社区QQ达人

发表于 2016-4-11 21:58:53 | 显示全部楼层
zanyige !!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋|手机版|Archiver|Java教程网    

GMT+8, 2019-11-14 03:45 , Processed in 0.306184 second(s), 50 queries .

Powered by Discuz X3.2

© 2001-2013 JAVA教程网

快速回复 返回顶部 返回列表