开心购物网购物车系统项目设计说明

注:这是我 Web 程序设计的作业,并不是一个实际项目。建议查看 PDF 版本的项目设计说明,可以在这里下载

开心购物网购物车系统项目设计说明

基本思路

根据实验要求,本项目整体上采用 XHTML 1.0, CSS3, JSP, Servlet, JavaBean, XML, Javascript, JQuery技术实现。主要从以下几个技术层面去实现。

在数据层面,采用 XML 存储书籍的信息。利用 Javascript、JQuery和Ajax技术在html页面动态加载XML文档显示书籍的信息,并将信息通过隐藏表单(hidden input)提交给购物车处理程序(ShowCartInf.jsp)。

对于用户生成的信息,使用 application 内置对象存储注册的账户信息、购物车、留言信息,以便实现多用户登录、购买和留言。使用 Session 存储登录次数信息。由于 Session 绑定到单一的客户端用户,因此使用这种方法可以保证在禁止超过指定次数登录的前提下,不影响其它用户的登录和使用。当然,使用这种方法时,用户是可以通过清除 cookie 信息使 Session ID 失效来逃避的。在一定程度上,这为用户猜测密码和暴力破解留下了隐患。该项目未在此处进行改进。

对用户的呈现采用了 XHTML 1.0 版本进行绘制,为了更好的进行内容与样式的分离,软件采用了 CSS3 控制显示样式,该样式分为全站样式(main.css)和分离样式(每个页面html / body / style 节点的嵌入样式),其中后者的优先级高于前者。

数据校验采用 Javascript 和 JQuery 框架共同完成,以便减轻服务器端的负担。但由于客户端脚本可以很轻易地被用户修改或忽略,因此通过客户端验证的模式进行表单验证是不可靠的,本项目考虑时间问题并没有对此作出修改,但在实际项目中,服务器端验证是必不可少的一环。

与此同时,为了使CSS3效果兼容Microsoft Internet Explorer 浏览器,采用PIE使IE模拟出了CSS3中的效果。在此对PIE的提供者表示感谢 (http://css3pie.com/)。    在数据的抽象方面,本项目采用 JavaBean 的理念,将用户信息、书籍信息、订购信息等内容抽象为类,存储在 JSP 的 application 中。在这种方式下,如果服务器端重新启动,用户将丢失全部数据。在实际商用中,应该将数据存储在数据库而不是 application 中。

本项目在 Linux / Ubuntu 10.10 x86平台,Tomcat 7.0  for Linux环境下测试通过。

文件列表

项目的主要文件及其描述如下。

文件名 描述

Book.java Application 域的JavaBean 数据封装类

BookOrder.java Application 域的JavaBean 数据封装类

BookOrders.java Application 域的JavaBean 数据封装类

WebUser.java Application 域的JavaBean 数据封装类

WebUsers.java Application 域的JavaBean 数据封装类

books.xml 书籍存储

books.xsd 书籍XML的架构验证

checkUser.jsp 嵌入需要的JSP页面中完成用户是否登录的验证,并在需要时使用服务器端转向要求用户登录

Comment.java Application 域的JavaBean 数据封装类

Comments.java Application 域的JavaBean 数据封装类

comments.jsp 显示和添加用户的留言

delete.jsp 删除订购的书籍

doLogin.jsp 执行用户登录的处理,主要是 Session 判断、用户合法性验证和超过三次登录的禁止

doReg.jsp 在 application 域中注册用户

jQuery.min.js JQuery 框架

LICENSE 许可协议

loginError.html/jsp 登录时错误处理

login.html 登录页面

logout.jsp 注销登录(悬浮页面;没有显式的引用链接)

main.css 主 CSS 样式表

order.html 订单信息填写页面

order.jsp 订单信息确认页面

regError.html 注册错误处理页面

reg.html 注册页面

ShowCartInf.jsp 购物车显示及更新

show.html 书籍列表页面;留言入口

WEB-INF Web 配置文件及 bean 类库

WebUser.java Application 域的JavaBean 数据封装类

WebUsers.java Application 域的JavaBean 数据封装类

备注

本项目在 Linux / Ubuntu 10.10 中编辑,由于采用了Unix 风格编辑器,因此在 Windows 下一些编辑器打开可能出现编码或换行符的异常。

许可协议

该项目采用 Apache License Version 2.0 许可协议发布。该项目引用了 CSS3PIE 的部分代码,其也是通过 Apache License Version 2.0 协议发布的。

Licensed 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, softwaredistributed 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 andlimitations under the License.

源代码

下载

本文版权遵循 CC BY-NC-SA 4.0发布,转载需附带本文链接。

当前页阅读量为: