dangdang和smartstruts2.rar
通用电子商务购物平台 --------目的----------- 1.将前期学习技术熟练应用 2.了解项目开发流程,培养开发能力(编码能力、查错排错能力、自学新技术能力) 3.了解项目开发文档(需求分析文档、详细设计文档、测试文档) 4.注意锻炼沟通能力(技术交流) ---------电子商务系统需求------------- 1.用户管理模块 注册、登录、权限(登录)检查 2.产品浏览模块 主界面、二级浏览界面 3.购物车模块 产品添加、修改数量、删除等功能 4.订单模块 创建订单、订单管理(选做状态查看、撤销等) -------------系统采用的技术体系---------------- 采用如下技术: Struts2、JDBC+连接池(dbcp)、jQuery+Ajax、javamail、log4j、junit、MySQL 系统架构: 表现层:jQuery+Ajax、Struts2标签+OGNL 控制层:Struts2控制器,Action组件 业务层:JavaBean组件、javamail 数据访问层:JavaBean+DAO模式,JDBC+连接池(dbcp) log4j:日志工具,用于输出日志信息.主要在业务层和数据访问层使用 junit:单体测试工具,用于测试业务或者数据访问方法 -----------项目开发流程------------ UML模型图:IBM Rose,Microsoft Visio E-R模型图:PowerDesign 市场部,客户关系,售前技术支持/售前工程师 开发部: 需求分析---项目经理或部门经理--(功能需求,数据需求) 概要/详细设计---项目经理---(用例、类模型,E-R模型) 编码开发---程序员,软件工程师 测试---测试工程师 实施---软件实施工程师 售后服务---开发人员负责 质量管理部:QA人员 产品研发部:产品经理 第一步:数据库设计(详情见dangdang.sql) d_book:图书信息表 d_product:产品信息表(各种类型产品所具有的共同信息项) d_category:图书栏目(分类)表 d_category_product:栏目与产品对应关系表 d_order:订单信息表 d_item:订单明细表 d_user:用户信息表 d_reveive_address:用户地址信息表 第二步:导入jar包 第三步:web.xml 第四步:写实体类 entity User 第五步:复制util、Factory包、复制四个src下面的配置文件。 第六步:写dao接口 UserDao BaseDao public void save(User user) throws Exception; public boolean valiEmail(String email) throws Exception; public void modify(String id) throws Exception; public List<User> query(String email) throws Exception; 第七步:写接口的实现类 8、写一个struts.xml 包含use.xml 1)跳转到 /user/register_form.jsp <action name="register" class="action.user.RegistFormAction"> <result name="form">/user/register_form.jsp</result> </action>完善action。 <action name="image" class="action.user.ImageAction"> <result name="success" type="stream"> <param name="inputName">image</param> </result> <action name="checkcode" class="action.user.CheckCodeAction"> <result name="success" type="json"></result> </action> <action name="checkemailcode" class="action.user.CheckEcodeAction"> <result name="success" type="json"></result> </action> <action name="checkemail" class="action.user.CheckEmailAction"> <result name="success" type="json"></result> </action> <action name="regist_first" class="action.user.RegistGoAction"> <result name="success">/user/verify_form.jsp</result> </action> <action name="regist_last" class="action.user.RegistOkAction"> <result name="success">/user/register_ok.jsp</result> </action> <action name="login" class="action.user.LoginAction"> <result name="success" type="redirectAction"> <param name="namespace">/main</param> <param name="actionName">main.do</param> </result> <result name="cart" type="redirectAction"> <param name="namespace">/cart</param> <param name="actionName">cart!list</param> </result> <result name="error">/user/login_form.jsp</result> <result name="form">/user/login_form.jsp</result> <result name="verify">/user/verify_form.jsp</result> </action> <action name="logout" class="action.user.LogoutAction"> <result name="success" type="redirectAction"> <param name="namespace">/main</param> <param name="actionName">main.do</param> </result> </action> 9、完善上述action 10、复制common、js、images、css 11、写js校验——myjs文件夹下。 12、写好action对应的JSP "/dangdang/user/login!form.do" /项目名/namespace/action的请求!action里的方法 <%@include file="../common/head1.jsp"%>相对路径的写法 <%@taglib uri="/struts-tags" prefix="s"%> <img src="image.do" id="img1"/> <a href="javascript:;" onclick="document.getElementById('img1').src='image.do?' + (new Date().getTime());">换一张试试看</a> type="submit" value="注 册" onclick="return validate();" /> 第二模块 首先把dao包里面完成,把有关数据库的操作完成。 public interface CategoryDao { public List<Category> findAll() throws Exception; public List<Category> findByParentId(int pid) throws Exception; } public interface ProductDao { public List<Product> findByCatId(int cid,int beginIndex,int pageSize) throws Exception; public List<Product> findByCatId(int id) throws Exception; public Product findByProId(int id) throws Exception; public List<Product> findByAddTime(int beginIndex,int lastIndex) throws Exception; } pst.setInt(1, beginIndex); pst.setInt(2, lastIndex);一定要放在执行语句之前 ResultSet rs=pst.executeQuery();这个就是执行语句 写main.jsp.按照左中右的方式依次制定对应的action。 <!--左栏开始--> <div id="left" class="book_left"> <s:action name="category" namespace="/main" executeResult="true"></s:action> </div> executeResult="true":将action返回的页面整合到此页面 左中右依次如上述所写。 写main.xml,并把main.xml,包含在struts.xml <struts> <package name="main" namespace="/main" extends="dang-default"> <action name="booklist" class="action.main.BookListAction"> <result name="success">/main/book_list.jsp</result> </action> <action name="main" class="action.main.MainAction"> <result name="success">/main/main.jsp</result> </action> <action name="detail" class="action.main.DetailAction"> <result name="success">/main/detail.jsp</result> </action> <action name="hotlist" class="action.main.HotListAction"> <result name="success">/main/hotlist.jsp</result> </action> <action name="new" class="action.main.NewAction"> <result name="success">/main/new.jsp</result> </action> <action name="hot" class="action.main.HotAction"> <result name="success">/main/hot.jsp</result> </action> <action name="category" class="action.main.CategoryAction"> <result name="success">/main/category.jsp</result> </action> <action name="recommend" class="action.main.RecommendAction"> <result name="success">/main/recommend.jsp</result> </action> </package> </struts> 将jsp里面对应的所有action在xml中配好,指定返回值对应的小jsp。 把main.xml所制定的action全部完善。主要操作是调用dao的方法。 public String execute() { ProductDao dao= (ProductDao) DaoFactory.getInstance("ProductDao");//注意“”内不要写错 try { list=dao.findByAddTime(15, 4); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return "success"; } 把xml中所指定的小jsp全部完善。完善过程注意框架对应的集合和id。 <s:iterator value="list" var="l">对应与action里的getLIst方法。
- 1
- 2
- 3
- 4
- 5
- 6
- 梨多情2014-05-23不错哦,和达内11年视频里讲的内容一样哦,很喜欢!
- 粉丝: 2
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助