悦书网项目文档分析解析Word格式文档下载.docx
- 文档编号:17976900
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:30
- 大小:881.73KB
悦书网项目文档分析解析Word格式文档下载.docx
《悦书网项目文档分析解析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《悦书网项目文档分析解析Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
3数据库设计
本系统选择MySQL数据库,建立名为mybookshop的数据库,涉及到的数据库表设计如下表所示。
表3-1users
表3-2books
表3-3publishers
表3-4categories
表3-5orderbook
表3-6orders
4类设计
本系统主要设计了entity、db、dao、cart、order、servlet这六大类,具体说明及类图如下:
(1)entity类,实体类。
图4-1Users.java
(2)dao类,操作数据库。
图4-2UserDao.java
(3)servlet类,调用dao中的方法,来根据数据库操作实现功能
图4-3UserServlet.java
5关键代码
5.1Model2实现用户登录、注册
(1)Jsp页面
//登录
<
formaction="
UserServlet?
opt=login"
method="
post"
onsubmit="
returnlogin_check()"
>
<
imgsrc="
images/logo.png"
br>
pid="
error"
/p>
账&
nbsp;
户:
inputtype="
text"
id="
username"
name="
size="
30"
maxlength="
10"
onkeyup="
login_check();
"
密&
码:
password"
userpwd"
31"
<
ahref="
register.jsp"
免费注册<
/a>
&
#"
class="
pwd"
忘记密码?
inputclass="
loginbn"
type="
submit"
value="
登录"
/form>
//注册
opt=register"
form"
h2>
marquee>
欢迎注册<
/marquee>
/h2>
tablecellspacing=1align=centerwidth="
100%"
align="
center"
cellpadding="
2"
>
tr>
tdalign="
width="
30%"
用户名:
/td>
td>
/>
spanid="
usernameSpan"
/span>
/tr>
tr>
真实姓名:
name"
电话号:
phone"
phoneSpan"
登录密码:
passwordSpan"
确认密码:
ckpassword"
ckpasswordSpan"
邮箱账号:
email"
emailSpan"
家庭住址:
address"
addressSpan"
tdcolspan="
btnreg"
立即注册"
/table>
(2)dao方法
publicbooleandoLogin(StringloginId,StringloginPwd){
con=db.getConnection();
CallableStatementstmt;
Stringsql="
callprcUserLogin(?
?
)"
;
try{
stmt=con.prepareCall(sql);
stmt.setString(1,loginId);
stmt.setString(2,loginPwd);
stmt.execute();
ResultSetrs=stmt.getResultSet();
if(rs.next())
returntrue;
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnfalse;
}
//注册用户
publicbooleandoRegister(Usersu){
callprc_Insert(?
stmt.setString(1,u.getLoginId());
stmt.setString(2,u.getLoginPwd());
stmt.setString(3,u.getName());
stmt.setString(4,u.getAddress());
stmt.setString(5,u.getPhone());
stmt.setString(6,u.getMail());
inti=stmt.executeUpdate();
if(i>
0)
finally
{
db.closeConnection((com.mysql.jdbc.Connection)con);
(3)servlet类
protectedvoidLogin(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
Stringname=request.getParameter("
);
Stringpassword=request.getParameter("
Usersu=newUsers();
u.setLoginId(name);
u.setLoginPwd(password);
UsersDaodao=newUsersDao();
booleanresult=dao.doLogin(name,password);
HttpSessionsession=request.getSession();
if(result){
session.setAttribute("
name);
System.out.println("
首页!
!
response.sendRedirect("
index.jsp"
else{
登录失败"
login.jsp"
protectedvoiddoRegister(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
Stringrealname=request.getParameter("
StringloginPwd=request.getParameter("
StringloginId=request.getParameter("
Stringaddress=request.getParameter("
Stringphone=request.getParameter("
Stringmail=request.getParameter("
u.setAddress(address);
u.setLoginId(loginId);
u.setLoginPwd(loginPwd);
u.setMail(mail);
u.setPhone(phone);
u.setName(realname);
booleanresult=dao.doRegister(u);
if(result)
request.getRequestDispatcher("
).forward(request,response);
else
{
request.getRequestDispatcher("
}
5.2添加购物车、立即购买书籍、生成订单
(1)jsp页面(详细页面)
scripttype="
text/javascript"
functiontosubmit(){
varform=document.getElementById("
document.form.action="
CartServlet?
opt=buynow&
isbn=${sessionScope.b.isbn}"
form.submit();
functionbuy(){
/*vara=document.getElementById("
cart"
a.onclick();
*/
/script>
opt=showcart"
showcart"
查看购物车<
h2>
悦书网<
opt=buy"
--<
from>
-->
table>
<
<
${sessionScope.b.imgPath}"
ul>
li>
${sessionScope.b.title}<
/li>
价格<
b>
¥${sessionScope.b.unitPrice}<
/b>
数量<
num"
1"
/>
liclass="
buy"
javaScript:
tosubmit()"
立即购买<
buy()"
OnClick="
添加购物车<
/ul>
(2)jsp页面(购物车)
opt=clear"
clear"
清空购物车<
trclass="
title"
图片<
图书名<
单价<
小计<
删除<
c:
forEachitems="
${sessionScope.items}"
var="
its"
checkbox"
${its.item.imgPath}"
${its.item.title}<
¥${its.item.unitPrice}<
opt=UpDe&
isbn=${its.item.isbn}"
-<
${its.amount}<
opt=UpAdd&
+<
¥${its.amount*its.item.unitPrice}<
opt=del&
/c:
forEach>
opt=showaddress&
uname=${name}"
去结算"
共花费${total}元<
(3)jsp页面(结算并生成订单)
divclass="
add"
iftest="
${sessionScope.ulist!
=null}"
${sessionScope.ulist}"
u"
<
确认收货地址:
<
寄送至:
${u.address}(${name}收)${u.phone}<
address.jsp"
images/newaddress.PNG"
/div>
if>
OrderServlet?
opt=add&
bid=${sessionScope.b.id}&
price=${sessionScope.b.unitPrice}&
total=${total}&
userid=${u.id}"
确认订单信息<
tableclass="
details"
%--<
--%>
${its.amount}"
pay"
style="
border:
1pxsolidred;
实付款:
¥${total}元<
地址:
${u.address}<
收货人:
${name}${u.phone}<
提交订单"
(4)jsp页面(订单页面)
form>
商品信息<
订单号<
单价(元)<
总价(元)<
购买时间<
${sessionScope.olist}"
o"
p>
<
BookServlet?
opt=btitle&
bid=${o.bookId}"
${o.bookId}<
<
${o.orderId}<
${o.unitPrice}<
${o.quantity}<
${o.totalPrice}<
${o.orderDate}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 悦书网 项目 文档 分析 解析