Java Web应用开发项目教程(第3版) 教案 实践 作业1-工程搭建与主页面展示_第1页
Java Web应用开发项目教程(第3版) 教案 实践 作业1-工程搭建与主页面展示_第2页
Java Web应用开发项目教程(第3版) 教案 实践 作业1-工程搭建与主页面展示_第3页
Java Web应用开发项目教程(第3版) 教案 实践 作业1-工程搭建与主页面展示_第4页
Java Web应用开发项目教程(第3版) 教案 实践 作业1-工程搭建与主页面展示_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作业一:需求描述、工程搭建与主页面搭建在estore前述开发的基础上,根据下述开发步骤,完成相应的功能。补全开发步骤,并贴入提交核心代码。注意代码格式(宋体6号体,行距10磅)根据课程要求,上传框架搭建和主页面信息展示的代码(包含数据库脚本,需去掉jar包)项目架构搭建:基于maven|引入jar包的一框架搭建导入javaweb相关jar包到lib下;建包,创建数据库连接类Copy静态资源修改web.xml运行工程:分析:主页面显示的原理如下:静态包含:<%@includefile="/pages/common/menu.jsp"%>拓展改为bootstrap主页面(待完成)二主页面信息展示期望的目标:待完成的三个小模块数据准备工作1商场广告展示2热销商品展示3商品大类展示上述三类信息展示开发流程分实体类daoservice和动作类servlet1ui-提交页面期望一进入主页面,分页展示数据在主页面上,发送servlet请求,直接拿数据,再展示main.jsp;2ui-servlet接收处理下面需实现三类数据的dao(销售排行数据、广告类数据、商品分类信息)及service相关接口与实现类;3数据表与实体类(注意,划框的部分是必须要做实现的,其它的暂时不要做)4dao公用方法接口packagecn.dao;importjava.math.BigDecimal;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importorg.junit.Test;importcn.bean.TbProduct;importcn.utils.DBHelper;publicclassProductDaoImpimplementsProductDao{ privateConnectionconn=DBHelper.getConnection(); privatePreparedStatementps=null; privateResultSetrs=null; privateStringsql=""; publicintgetTotal(){ sql="SELECTcount(*)astotalFROMtb_product"; try{ ps=conn.prepareStatement(sql); rs=ps.executeQuery();//JDBC-4 if(rs.next()){ returnrs.getInt(1); } }catch(Exceptione){ e.printStackTrace(); } return0; } /* publicTbProduct(Integerid,IntegercategoryMainId,IntegercategoryBranchId,Stringname, StringproducingArea, Stringdescription,DatecreateTime,BigDecimalmarketPrice, BigDecimalsellPrice,IntegersalesVolume, Stringpicture,Booleandiscount) */ publicList<TbProduct>find(){ List<TbProduct>products=null; sql="SELECT*FROMtb_product"; try{ ps=conn.prepareStatement(sql); rs=ps.executeQuery();//JDBC-4 products=newArrayList<TbProduct>(); TbProductproduct; while(rs.next()){ product=newTbProduct(rs.getInt(1),rs.getInt(2),rs.getInt(3),rs.getString(4), rs.getString(5),rs.getString(6),rs.getDate(7),rs.getBigDecimal(8), rs.getBigDecimal(9),rs.getInt(10),rs.getString(11),rs.getBoolean(12)); products.add(product); } }catch(Exceptione){ e.printStackTrace(); } returnproducts; } publicList<TbProduct>find(intpageNum,intpageSize){ //SELECT*FROMtb_productLIMIT(pageNum-1)*pageSize,pageSizelimitm,n[m+1条记录开始,取n条记录] List<TbProduct>products=null; sql="SELECT*FROMtb_productLIMIT?,?"; try{ ps=conn.prepareStatement(sql); ps.setInt(1,(pageNum-1)*pageSize); ps.setInt(2,pageSize); rs=ps.executeQuery();//JDBC-4 products=newArrayList<TbProduct>(); TbProductproduct; while(rs.next()){ product=newTbProduct(rs.getInt(1),rs.getInt(2),rs.getInt(3),rs.getString(4), rs.getString(5),rs.getString(6),rs.getDate(7),rs.getBigDecimal(8), rs.getBigDecimal(9),rs.getInt(10),rs.getString(11),rs.getBoolean(12)); products.add(product); } }catch(Exceptione){ e.printStackTrace(); } returnproducts; } publicbooleaninsert(TbProducte){ Stringsql="insertintotb_product(category_main_id,category_branch_id,name" +",producing_area,description,create_time,market_price,sell_price" +",sales_volume,picture,discount)values(" +"?,?,?,?,?,now(),?,?,?,?,?)";/*(16,57,"双门洗衣机","江苏南京","全球最先进的洗衣机",now(),2999.8,1999.9,10000,'1195001711750.jpg',1)TbProducte=newTbProduct(-1,16,57,"4门洗衣机","江苏南京","全球最先进的洗衣机2",d, newBigDecimal(2899.88),newBigDecimal(2000.88), Integer.valueOf(100),"1195001711750.jpg",newBoolean(true));*/ try{ ps=conn.prepareStatement(sql); ps.setInt(1,e.getCategoryMainId()); ps.setInt(2,e.getCategoryBranchId()); ps.setString(3,e.getName()); ps.setString(4,e.getProducingArea()); ps.setString(5,e.getDescription()); ps.setBigDecimal(6,e.getMarketPrice()); ps.setBigDecimal(7,e.getSellPrice()); ps.setInt(8,e.getSalesVolume()); ps.setString(9,e.getPicture()); ps.setBoolean(10,e.getDiscount()); returnps.executeUpdate()>0; }catch(SQLExceptione1){ e1.printStackTrace(); } returnfalse; } @SuppressWarnings("deprecation") @Test publicvoidt1(){ //System.out.println(this.getTotal()); //List<TbProduct>list=this.find(); //for(TbProducte:list) //System.out.println(e.toString()); Dated=newDate(); SimpleDateFormatdf2=newSimpleDateFormat("yyyy-MM-dd"); System.out.println(df2.format(newjava.util.Date(2020-1900,1,1,13,25,20))); /*TbProducte=newTbProduct(Integer.valueOf(-1),Integer.valueOf(16),Integer.valueOf(57), "三门洗衣机","江苏南京","全球最先进的洗衣机", d, newBigDecimal(2899.88),newBigDecimal(2000.88), Integer.valueOf(100),"1195001711750.jpg",newBoolean(true));*/ TbProducte=newTbProduct(-1,16,57,"4门洗衣机","江苏南京","全球最先进的洗衣机2",d, newBigDecimal(2899.88),newBigDecimal(2000.88), Integer.valueOf(100),"1195001711750.jpg",newBoolean(true)); this.insert(e); //(16,57,"双门洗衣机","江苏南京","全球最先进的洗衣机",now(),2999.8,1999.9,10000,'1195001711750.jpg',1) } publicbooleandelete(intid){ Stringsql="deleteFROMtb_productWHEREid=?"; try{ ps=conn.prepareStatement(sql); ps.setInt(1,id); returnps.executeUpdate()>0; }catch(SQLExceptione1){ e1.printStackTrace(); } returnfalse; } publicbooleanupdate(TbProducte){ Stringsql="UPDATEtb_productSETcategory_main_id=?,category_branch_id=?,NAME=?," +"producing_area=?,description=?,create_time=?,market_price=?," +"sell_price=?,sales_volume=?,picture=?,discount=?WHEREid=?"; try{ ps=conn.prepareStatement(sql); ps.setInt(1,e.getCategoryMainId()); ps.setInt(2,e.getCategoryBranchId()); ps.setString(3,e.getName()); ps.setString(4,e.getProducingArea()); ps.setString(5,e.getDescription()); ps.setDate(6,newjava.sql.Date(newjava.util.Date().getTime())); //需测试下 ps.setBigDecimal(7,e.getMarketPrice()); ps.setBigDecimal(8,e.getSellPrice()); ps.setInt(9,e.getSalesVolume()); ps.setString(10,e.getPicture()); ps.setBoolean(11,e.getDiscount()); ps.setInt(12,e.getId()); returnps.executeUpdate()>0; }catch(SQLExceptione1){ e1.printStackTrace(); } returnfalse; }//UPDATEtb_productSETcategory_main_id=16,category_branch_id=57,NAME='新式洗衣机',producing_area='南韩洗衣机',description='这洗衣机功能齐全',create_time='2020-1-1',market_price=999.99,sell_price=888.88,sales_volume=100,picture='1195001711750.jpg',discount=TRUEWHEREid=2 publicList<TbProduct>find(inttop){ List<TbProduct>products=null; sql="SELECT*FROMtb_productLIMIT?"; try{ ps=conn.prepareStatement(sql); ps.setInt(1,top); rs=ps.executeQuery();//JDBC-4 products=newArrayList<TbProduct>(); TbProductproduct; while(rs.next()){ product=newTbProduct(rs.getInt(1),rs.getInt(2),rs.getInt(3),rs.getString(4), rs.getString(5),rs.getString(6),rs.getDate(7),rs.getBigDecimal(8), rs.getBigDecimal(9),rs.getInt(10),rs.getString(11),rs.getBoolean(12)); products.add(product); } }catch(Exceptione){ e.printStackTrace(); } returnproducts; }}packagecn.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.ArrayList;importjava.util.List;importorg.junit.Test;importcn.bean.TbBoard;importcn.utils.DBHelper;publicclassBoardDaoImpimplementsBoardDao{ privateConnectionconn=DBHelper.getConnection(); privatePreparedStatementps=null; privateResultSetrs=null; privateStringsql=""; publicintgetTotal(){ //TODOAuto-generatedmethodstub return0; } publicList<TbBoard>find(){ List<TbBoard>boards=null; sql="SELECT*FROMtb_boardLIMIT1000"; try{ ps=conn.prepareStatement(sql); rs=ps.executeQuery();//JDBC-4 boards=newArrayList<TbBoard>(); TbBoardb; //Integerid,StringboardIssueName,DateissueTime,Stringcontent while(rs.next()){ b=newTbBoard(rs.getInt(1),rs.getString(2),rs.getDate("issue_time"),rs.getString("content")); boards.add(b); } }catch(Exceptione){ e.printStackTrace(); } returnboards; } @Override publicList<TbBoard>find(intpageNum,intpageSize){ //TODOAuto-generatedmethodstub returnnull; } @Override publicbooleaninsert(TbBoarde){ //TODOAuto-generatedmethodstub returnfalse; } @Override publicbooleandelete(intid){ //TODOAuto-generatedmethodstub returnfalse; } @Override publicbooleanupdate(TbBoarde){ //TODOAuto-generatedmethodstub returnfalse; } @Test publicvoidt1(){ BoardDaodao=newBoardDaoImp(); System.out.println(dao.find()); }}packagecn.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.ArrayList;importjava.util.List;importcn.bean.TbCategoryMain;importcn.utils.DBHelper;publicclassCategoryMainDaoImpimplementsCategoryMainDao{ privateConnectionconn=DBHelper.getConnection(); privatePreparedStatementps=null; privateResultSetrs=null; privateStringsql=""; //Integerid,Stringname,DatecreateTime publicList<TbCategoryMain>find(){ List<TbCategoryMain>cms=null; sql="SELECT*FROMtb_category_mainLIMIT1000"; try{ ps=conn.prepareStatement(sql); rs=ps.executeQuery();//JDBC-4 cms=newArrayList<TbCategoryMain>(); TbCategoryMaincm; //Integerid,StringboardIssueName,DateissueTime,Stringcontent while(rs.next()){ cm=newTbCategoryMain(rs.getInt(1),rs.getString(2), rs.getDate(3)); cms.add(cm); } }catch(Exceptione){ e.printStackTrace(); } returncms; } publicintgetTotal(){ return0; } publicstaticvoidmain(String[]args){ CategoryMainDaodao=newCategoryMainDaoImp(); System.out.println(dao.find()); } publicList<TbCategoryMain>find(intpageNum,intpageSize){ returnnull; } publicbooleaninsert(TbCategoryMaine){ returnfalse; } publicbooleandelete(intid){ returnfalse; } publicbooleanupdate(TbCategoryMaine){ returnfalse; }}5servicepackagecn.service;importjava.util.List;importcn.bean.TbProduct;importcn.dao.ProductDao;importcn.dao.ProductDaoImp;publicclassTbProductServiceImpimplementsTbProductService{ ProductDaodao=newProductDaoImp(); publicintgetTotal(){ returndao.getTotal(); } publicListfind(){ returndao.find(); } publicListfind(intpageNum,intpageSize){ returndao.find(pageNum,pageSize); } publicbooleandelete(intid){ returndao.delete(id); } publicbooleaninsert(TbProducte){ returndao.insert(e); } publicbooleanupdate(TbProducte){ dao.update(e); returnfalse; } publicList<TbProduct>find(inttop){ returndao.find(top); }}packagecn.service;importjava.util.List;importcn.bean.TbBoard;importcn.dao.BoardDao;importcn.dao.BoardDaoImp;publicclassTbBoardServiceImpimplementsTbBoardService{ privateBoardDaodao=newBoardDaoImp(); publicintgetTotal(){ returndao.getTotal(); } publicList<TbBoard>find(){ returndao.find(); } publicList<TbBoard>find(intpageNum,intpageSize){ returnnull; } publicbooleaninsert(TbBoarde){ returnfalse; } publicbooleandelete(intid){ returnfalse; } publicbooleanupdate(TbBoarde){ returnfalse; }}packagecn.service;importjava.util.List;importcn.bean.TbCategoryMain;importcn.dao.CategoryMainDao;importcn.dao.CategoryMainDaoImp;publicclassTbCategoryMainServiceImpimplementsTbCategoryMainService{ privateCategoryMainDaodao=newCategoryMainDaoImp(); publicintgetTotal(){ return0; } publicList<TbCategoryMain>find(){ returndao.find(); } publicList<TbCategoryMain>find(intpageNum,intpageSize){ returnnull; } publicbooleaninsert(TbCategoryMaine){ returnfalse; } publicbooleandelete(intid){ returnfalse; } publicbooleanupdate(TbCategoryMaine){ returnfalse; }}6servletpackagecn.servlet;importjava.io.IOException;importjavax.annotation.Resource;importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.service.TbBoardService;importcn.service.TbBoardServiceImp;importcn.service.TbCategoryMainService;importcn.service.TbCategoryMainServiceImp;importcn.service.TbProductService;importcn.service.TbProductServiceImp;@WebServlet("/HomeServlet")publicclassHomeServletextendsHttpServlet{ //[ui提交页面->servlet-service-dao…>service…>servlet->推送页面] privatestaticfinallongserialVersionUID=1L; privateTbProductServicetbProductService=newTbProduc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论