Java课程设计报告-注册会员的网上交易.docx
课程设计任务1二.计项目需求分析1L功能要求12.开发环境及开发工具1三 .总体设计1L软件结构(各模块名称及功能)12 .系统模块结构(软件结构图)23 .数据库结构2四 .详细设计31 .模块列表32 .各模块代码3Java课程设计报告姓名:*班级:计算机04(本科)一.课程设计任务JSP电子商务网站开发。二.计项目需求分析1 .功能要求实现注册会员的网上交易。2 .开发环境及开发工具Tomcat5.0;JDK1.4.三.总体设计1.软件结构(各模块名称及功能)1. bookmain.jsp网站的首页。提供会员的注册,会员的登录及商品的浏览。2. UserLoginjsp会员的登录,在以后的各个页面中若未登录的用户都将转到本页。3. UserRegisterjsp会员的注册,在此页面中用户可以注册为本站的会员。4. buybook.jsp会员可以通过此页查找用户指定的商品并购买。5. ChangeFormjsp用户在modifyForm.jsp提出订单修改的要求后在此页根据用户要求进行订单的修改。6. deleteForm.jsp实现用户的订单删除操作。7. modifyForm.jsp用户的订单修改页面。8. modifyMessage.jsp用户的个人信息修改。9. modifyPassword.jsp用户的密码修改。10. ShowBookListjsp商品浏览页面,用户可以购买。11. ShowOrderFormjsp用户订单查询。2 .系统模块结构(软件结构图)3 .数据库结构用户信息表:字段名称数据类型说明logname文本用户登录名称realname文本用户的真正姓名password文本密码email文本电子邮件地址phone文本电话address文本邮寄地址商品表:字段名称数据类型说明id自动编号Order_number文本订阅号book_name文本手机型号author文本品牌publisher文本所属系列time文本哪年的款式price文本单价category文本特价机否订单表:字段名称数据类型说明logname文本已注册的用户名称realname文本真实姓名order_number文本图书订购号bookname文本订购的图书的名字mount文本订购的数量phone文本联系电话address文本邮寄地址四.详细设计1 .模块列表序号模块名称功能1bookmain.jsp网站的首页2UserLoginjsp会员的登录3UserRegisterjsp会员的注册4buybook.jsp查找指定的商品并购买5ChangeFormjsp订单修改6deleteForm.jsp订单删除7InodifyFormjsp订单修改8modifyMessage.jsp用户个人信息修改9modifyPassword.jsp密码修改10ShowBookListjsp商品浏览,购买11ShowOrderFormjsp订单查询2 .各模块代码程序当中需要使用的beans:1.Loginjava:packagejialiang;importjava.sql.*;publicclassLoginStringlogname,realname,password,phone,address;Stringsuccess="false",message=""Connectioncon;Statementsql;ResultSetrs;publicLogin()(加载桥接器:tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");Icatch(ClassNotFoundExceptione)/设置属性值、获取属性值的方法:publicvoidsetLogname(Stringname)logname=name;)publicStringgetLogname()(returnlogname;)publicvoidsetPassword(Stringpw)(password=pw;)publicStringgetPassword()(returnpassword;)publicvoidsetRealname(Stringname)(realname=name;)publicStringgetRealname()(returnrealname;)publicvoidsetPhone(Stringph)(phone=ph;)publicStringgetPhone()(returnphone;)publicvoidsetAddress(Stringad)(address=ad;)publicStringgetAddress()(returnaddress;)publicStringgetSuccess()returnsuccess;/查询数据库的USer表:publicStringgetMessage()try(con=DriverManager.getConnection(,'jdbczodbcshop,",u");sql=con.createStatement();Stringcondition="SELECT*FROMuserWHERElogname="+logname+;rs=sql.executeQuery(condition);introwcount=0;Stringps=null;while(rs.next()(rowcount+;IOgname=rs.getString("logname");realname=rs.getString("realname");ps=rs.getString(',password,');phone=rs.getString("phone,');address=rs.getString("address");)if(rowcount=1)&&(password.equals(ps)(message="ok"SUCCeSS="ok")elsemessage="输入的用户名或密码不正确";success="false")con.close();returnmessage;)catch(SQLExceptione)message="输入的用户名或密码不正确";SUCCeSS="false"returnmessage;2. Registersjavapackagejialiang;importjava.sql.*;publicclassRegistersStringlogname="',;Stringrealname=,M,;Stringpassword='n'Stringemail=""Stringphone=*'"Stringaddress=""Stringmessage="1'Connectioncon;Statementsql;ResuItSetrs;publicRegistersO(加载桥接器:tryClass.forName(,'sun.jdbc.odbc.JdbcOdbcDriverH);)catch(ClassNotFoundExceptione)设置属性值、获取属性值的方法:publicvoidsetLogname(Stringname)(logname=name;)publicStringgetLogname()(returnlogname;)publicvoidsetRealname(Stringname)(realname=name;)publicStringgetRealname()(returnrealname;)publicvoidsetPassword(Stringpw)(password=pw;)publicStringgetPassword()returnpassword;)publicvoidsetEmail(Stringem)(email=em;)publicStringgetEmail()(returnemail;)publicvoidsetPhone(Stringph)(phone=ph;)publicStringgetPhone()returnphone;publicvoidsetAddress(Stringad)(address=ad;)publicStringgetAddress()(returnaddress;)publicStringgetMessage()(returnmessage;)添加记录到数据库的user表:publicvoidaddltem()trycon=DriverManager.getConnection("jdbc:odbc:shop'7,"/M,);sql=con.createStatement();Strings=+logname+";'+realname+password+email+phone+";'+address+;StringCondition=nINSERTINTOuserVALUES"+,("+s+11)h;sql.executeUpdate(condition);message="注册成功了”;con.close();)catch(SQLExceptione)message="该用户己经存在,请你更换一个名字";3. BuyBookjavaPackagejialiang;importjava.sql.*;publicclassBuyBook(longid=O;Stringorder_number,book_name;Connectioncon;Statementsql;ResuItSetrs;publicBuyBook()(/加载桥接器:tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver'r);Icatch(ClassNotFoundExceptione)设置属性值、获取属性值的方法:publicvoidsetld(longn)id=n;)publiclonggetld()returnid;)publicvoidSetBOok_name(Stringname)(book_name=name;)publicStringgetBook_name()(returnbk-name;)publicvoidsetOrder_number(Stringnumber)(OrdeJnUmber=number;)publicStringgetrder-number()(returnorder_number;)通过书的id号查询数据库的book表:publicStringBuffergetMessageBybook_id()(StringBufferbuffer=newStringBufferO;try(Con=DriverManagengetConnectionCjdbczodbcshop"",n");Sql=ConxreateStatementO;StringCondition=nSELECT*FROMbookWHEREid=',+id;rs=sql.executeQuery(condition);buffer.append(',<TableBorderxFONTsize=l>");huffer.append("<TR>n);buffer.append("<THwidth=50>"+"<Fontsize=l>"+"id"+"<FONT>");buffer.append("<THwidth=50>"+"<FontSiZe=I>"+"订购号"+"</FONT>");buffer.append("<THwidth=70>"+"<Fontsize=l>,+书名,+',<FONT>");buffer.append(<THwidth=60>"÷"<FontSiZe=I>"+“作者"+“<FONT>");buffer.append("<THwidth=60>"+"<FontSiZe=1>"+”出版社"+”</FoNT>");buffr.append("<THwidth=50>"+"<FontSiZe=1>"+”出版时间"+”</FoNT>");buffer.append("<THwidth=20>"÷"<FontSiZe=1>"+"价钱"+“<FONT>");buffer.append("<THwidth=50>"+"<Fontsize=1>,+分类"+”</FoNT>");buffer.append("<TR>");while(rs.next()(order_number=rs.getString(2);book_name=rs.getString(3);String作者=rs.getString(4);String出版社=rs.getString(5);Date时间=rs.getDate(6);String价格=rs.getString("price");String分类=rs.getString("category");buffer.append(',<TR>");buffer.append(,<TD>"+"<Fontsize=1>>,+rs.getLong(1)+"<FONT>'*);buffer.append("<TD>"+"<Fontsize=1>"+order-number+"<FONT>");buffer.append("<TD>"+"<Fontsize=1>>,+book-name+"<FONT>");buffer.append(,<TD>"+"<FontSiZe=I>"+作者+”<FONT>");buffer.append("<TD>"+"<FontSiZe=I>"+出版社+"vFONT>");buffer.append(,'<TD>,+,<FontSiZe=I>"+时间+"/FONT”);buffer.append("<TD>+"<FontSiZe=I>"+价格+”<FONT>");bufifer.append(,<TD>"+"<FontSiZe=I>"+分类+"<FONT>");buffer.append("</TR><*);Ibuffer.append("<TABLE>,);buffer.append(',<FONT>");con.close();returnbuffer;)catch(SQLExceptione)(returnbuffer;4. OrderFormjavapackagejialiang;importjava.sql.*;publicclassOrderForm(Stringlogname,用户名。realname,/真实姓名。order_number,/图书订购号phone,address,book_name,书名。mount;数量。Connectioncon;Statementsql;ResuItSetrs;publicOrderFormO(加载桥接器:tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");)catch(ClassNotFoundExceptione)设置属性值、获取属性值的方法:publicvoidsetLogname(Stringname)(logname=name;)publicStringgetLogname()(returnlogname;)publicvoidsetRealname(Stringname)(realname=name;)publicStringgetRealname()(returnrealname;)publicvoidsetOrder_number(Stringnumber)(OrdeJnUmber=number;)publicStringgetrder-number()(returnOrdejnUmber;)publicvoidsetBook_name(Stringname)(book_name=name;)publicStringgetBook_name()(returnbook_name;)publicvoidsetPhone(Stringph)(phone=ph;)publicStringgetPhone()returnphone;)publicvoidsetAddress(Stringad)(address=ad;)publicStringgetAddress()(returnaddress;)publicvoidsetMount(Stringn)(mount=n;)publicStringgetMount()returnmount;向数据库的Orderform订单表添加订购记录:publicStringsetOrderBook()trycon=DriverManager.getConnection(''jdbc:Odbc:ShoPsql=con.createStatement();Strings="'"+logname+÷realname+order.number+book_name+mount+phone+address+;StringCondition=uINSERTINTOorderformVALUES"+"("+s÷,);sql.executeUpdate(condition);con.dose();return”该书被添加到你的订单";)catch(SQLExceptione)return"你已经订购了该书,请去修改订单后再订购”;5. PageNumberjavaPackagejialiang;publicclassPageNumberintrowCount=I,总的记录数。pageSize=1,每页显示的记录数。ShowPage=I,设置欲显示的页码数。pageCount=I;/分页之后的总页数。publicvoidsetRowCount(intn)(rowCount=n;)publicintgetRowCount()returnrowCount;JpublicvoidsetPageCount(intr,int)rowCount=r;pageSize=p;intn=(rowCount%pageSize)=0?(rowCount/pageSize):(rowCount/pageSize+1);pageCount=n;)publicintgetPageCount()returnpageCount;)publicvoidsetShowPage(intn)(showPage=n;publicintgetShowPage()returnshowPage;)publicvoidsetPageSize(intn)(pageSize=n;)publicintgetPageSize()returnpageSize;)网页文件:1. bookmain.jsp<%pageCOntentTyPeFteXthtml;CharSet=GB2312"%><%pageimport="jialiang.*"%>v%!处理字符串的方法:publicStringcodeString(Strings)Stringstr=s;trybyteb=str.getBytes("ISO-8859-1");str=newString(b);returnstr;)catch(Exceptione)returnstr;)%><HTML><styletype="textcss"><!-bodybackground-color:#0099CC;.style2font-size:12px).style3color:#336699).style4color:#999999).style5color:#FFOOOO.style6color:#006699;font-size:12px;)-><style><BODYbackground=',image/bg.jpg',><tablewidth="180"border="0"><td><imgSrCFimage/logo.jpg"width="178"height="79"xtd><td><imgsrc=',imagell.JPG"width=,563"height="82"><td><tr><table><imgSrC="image/ad.jpg"width="747"height="69"border="。"usemap="#Map”><mapname="Map"><areashape="rect"coords="111,18,140,33"href="<%=response.encodeURL("http:/IoCaIhoSt:8080/bookmain.j叩")>”><areashape=,rect"coords="148,18,209,32"href="<%=response.encodeURL("http:/localhost:8080/userRegister.jsp")%>"><areashape="rect"coords=,217,19,278,32"href="<%=response.encodeURL("http:/localhost:8080/userLogin.jsp")%>"><areashape=',rect"coords="286,20,344,3,href="<%=response.encodeURL("http:/IocaIhost:8080/showBookList.jsp")%>"><areashape="rect"coords=',357,19,418,34"href="<%=response.encodeURL("httpIocalhost8080buybook.jsp")%>',><areashape="rect"coords="432,18,492,33"href="<%=response.encodeURL("http:/Iocalhost:8080/modifyForm.jsp")%>"><areashape="rect"coords="508,17,567,33"href="<%=response.encodeURL("http:/localhost:8080/showOrderForm.jsp")%>"><areashape=',rect"coords="579,19,640,32"href="<%=response.encodeURL("httplocaIhost8080modifyPassword.jsp',)%>,>><areashape="rect"coords=,655,18,739,34"href="<%=response.encodeURL("httpIocalhost8080modifyMessage.jsp,)%>"><map><tablewidth="741"height=',38,border="0"><tr><tdwidth="168"rowspan="5"><divalign="top"><%Stringstring=response.encodeLJRL("userLogin.jsp")i%><FORMaction="<%=string%>"Method="post">用户名:<Inputtype=textname="logname,><BR>密码:<Inputtype=passwordname="password"><BR><Inputtype=submitname="gvalue="t5c,><Form><%string=response.encodeURL("userRegister.jsp")%><FORMaction=,<%=string%>"Method="post"><BR><Inputtype=submitname="t"value="注册"><Form><jsp:useBeanid="login"class="Loginscope="session"></jsp:useBean>v%提交信息后,验证信息是否正确:Stringmessage="",logname="",password=',"if(!(session.isNew()(Iogname=request.getParameter("Iognamen);if(Iogname=null)logname='u,;)Iogname=CodeString(Iogname);password=request.getParameter("password");if(password=null)password="")password=codeString(password);)if(!(Iogname.equals("',)(%><jsp:SetPropertyname="login"property="logname"value=',<%=logname%>><jsp:SetPropertyname="login"property="password"value="<%=password%>"><%message=login.getMessage();if(message=null)message="")if(!(session.isNew()if(message.equals("ok)Stringstr=response.encodeURL("buybook.jsp");response.sendRedirect(str);Ielseout.print(message);)%><spanCIaSS="style6”>制作人:贾<br>技术支持:姜广坤<b>采用技术:JSP<span><divxtd><tdwidth="75"height="105"><imgsrc="image7610-s.jpg"width="75"height=,75"><td><tdwidth="100"><palign=',centernclass="style2style3"><strong>诺基亚</strong>7610<br><spanclass="style4">市场价:4999元<spanxbr><imgsrc="imageCTJ.gif,width="38"height="12"><spanclass="style5">:4499元</span></p><palign="centerclass="style2style3"><imgsrc="imagecart2.gif,width="22height="22">添加到购物๗O<p><td><tdwidth="75"ximgsrc=',image6600-s.jpg"width="75"height=,75',><td><tdwidth="102"><palign="centerclass="style2style3"><strong>诺基亚</strong>6600<br><spanclass="style4">市场价:4999元<span><br><imgsrc="imageCTJ.gif,width=',38"height="12"><spanclass="style5">:4499元</span></p>< palign="centerclass="style2style3"><imgsrc=',imagecart2.gif"width=',2'height="22">添加到购:物๗O<p><td><tdwidth="75"ximgsrc=',image787-s.jpg"width="75"height="75"xtd>< tdwidth="100"><palign=',center"class="style2style3"xstrong>TCL<strong>787<br><spanclass="style4">市场价:4999元<span><br><imgsrc="imageCTJ.gif,width=',38"height="12"><spanclass="style5">:4499元</span></p>< palign="centerclass="style2style3"><imgsrc="imagecart2.gif,width=,22"height="22">添加到购物车<px/td><tr>< tr><tdheight="17"> </td><td><divalign="center',><div><td><td> </td><td><divalign="center,><div><td><td> </td><td><divalign="center',><div><td><tr><tr><td><imgsrc="image33OO-s.jpg"width="75"height="75',><td>< td><palign="center"class="style2style3"><strong>诺基亚</strong>7610<br><spanclass="style4">市场价:4999元<span><br><imgsrc="imageCTJ.gif,width="38"height='112"><spanclass=',styIe5">:4499元</span></p>< palign=',center"class=',style2style3"><imgsrc=',imagecart2.gif'width="22height=,22">添加到购物车</p></td><td><imgsrc="imagev690hs.jpg"width="75"height=,'75"><td>< td><palign="center"class="style2StyIe3"><strong>摩托罗拉/strongv690<br><spanclass="style4">市场价:1860元<span><br><imgsrc=',imageCTJ.gif'width=',38"height="12"><spanclass=,style5,>:1199元</span></p>< palign="center"class="style2style3"><imgsrc=,imagecart2.gif'width="22"height=,22">添加到购物车</p></td><td><imgsrc=',imageE680iS.jpg"width="75"height="75',><td>< td><palign="center"class="style2Style3"><strong>摩托罗拉vstrong>E680i<br><spanclass="style4">市场价:3880元<span><br><imgsrc="imageCTJ.gif,width=',38"height="12"><spanclass="styIe5',>3499(fe20803z<span><p>< palign="center"class="style2style3