JAVA WEB 购物车实验报告.docx
- 文档编号:6850413
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:17
- 大小:218.86KB
JAVA WEB 购物车实验报告.docx
《JAVA WEB 购物车实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA WEB 购物车实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
JAVAWEB购物车实验报告
南昌大学实验报告
学生姓名:
张志煋学号:
**********专业班级:
网工121班
实验类型:
□验证□综合□设计□创新实验日期:
2015-4-15实验成绩:
一、实验项目名称
购物车项目
二、实验目的
通过完成购物车的项目,初步学会并掌握JSP+JavaBean项目开发
三、实验基本原理
本实验运用的技术主要有:
HTML、JSP、MySQL数据库技术、JavaBean、以及DAO接口、DAO实现类、DAO工厂类。
四、实验步骤
1、运行MyEclipse,新建一个Shopping的web工程,部署;
2、利用navicat新建一个数据库javaweb,按照老师要求设计各表;
3、新建一个com.sanqing.bean包,包中编写一个Commodity.java的JavaBean,参考书上购物车代码,在DAO接口中新增一个方法List
4、新建一个com.sanqing.util包,包中编写一个DBConnection.java的文件,用于连接数据库;
5、编写一个login.jsp的文件,供用户输入用户名和密码;
6、编写一个login1.jsp的文件,用户判断用户名和密码是否正确;
7、编写一个cxit.jsp的文件,供用户查询物品;
8、编写一个cxit1.jsp的文件,根据用户选择的类型查询物品;
9、编写一个AddToCart.jsp的文件,将用户购买的物品添加进购物车;
10、编写一个buyitem.jsp的文件,将用户购买的物品添加到数据库中;
11、编写一个show.jsp的文件,利用数据库中的item视图显示用户确定购买的物品;
12、启动Tomcat服务器,打开浏览器,在地址栏中输入首页地址:
测试结果
五、实验数据及处理结果
1.login.jsp的程序代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
用户名:
密码:
2.login1.jsp的程序代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@pageimport="java.sql.*"%>
<%@pageimport="com.sanqing.util.DBConnection"%>
<%
request.setCharacterEncoding("gb2312");
Stringusername=request.getParameter("username");
Stringpwd=request.getParameter("password");
booleanb=false;
Connectionconn=DBConnection.getConnection();
Stringsql="SELECT*FROMusertable";
PreparedStatementpstmt=null;
try{
pstmt=conn.prepareStatement(sql);
ResultSetrs=pstmt.executeQuery();
while(rs.next())
{
if(username.equals(rs.getString("Username"))&&pwd.equals(rs.getString("Userpwd")))
{
b=true;
session.setAttribute("id",rs.getString("UserID"));
out.println("用户登陆成功!
");
}
}
}
catch(SQLExceptione){
e.printStackTrace();
}finally{
DBConnection.close(pstmt);//关闭预处理对象
DBConnection.close(conn);//关闭连接对象
}
if(!
b)
{
out.println("用户名或密码错误!
请重新登录");
}
%>
<%if(b){%>
<%}%>
<%if(!
b){%>
<%}%>
3.cxit.jsp的程序代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@pageimport="java.sql.*"%>
<%@pageimport="com.sanqing.util.DBConnection"%>
<%
Connectionconn=DBConnection.getConnection();
Stringsql="SELECT*FROMtypename";
PreparedStatementpstmt=null;
try{
pstmt=conn.prepareStatement(sql);
ResultSetrs=pstmt.executeQuery();
%>
商品类型:
<%while(rs.next()){%>
<%}%>
<%}
catch(SQLExceptione){
e.printStackTrace();
}finally{
DBConnection.close(pstmt);//关闭预处理对象
DBConnection.close(conn);//关闭连接对象
}
%>
4.cxit1.jsp的程序代码如下:
<%@pagelanguage="java"pageEncoding="gbk"import="java.util.List"%>
<%@pageimport="com.sanqing.dao.CommodityDAO"%>
<%@taglibprefix="c"uri="
<%@taglibprefix="fmt"uri="
<%@pageimport="com.sanqing.factory.CommodityDAOFactory"%>
<%@pageimport="com.sanqing.bean.Commodity"%>
<%
request.setCharacterEncoding("gb2312");
inttype=Integer.parseInt(request.getParameter("cType"));
%>
<%
//通过DAO工厂类获得DAO实现类实例
CommodityDAOcommodityDAO=CommodityDAOFactory.getCommodityDAOInstance();
//查找所有商品记录
List
//将所有记录保存到page范围
pageContext.setAttribute("commodityList",commodityList);
%>
forEachvar="commodity"items="${pageSmodityList}"><%--循环输出商品信息--%> formatNumbertype="currency"value="${commodity.price}"/> formatNumbertype="currency"value="${commodity.price*commodity.agio}"/> commodityId=${modityId}">购买${modityId} ${modityName} ${commodity.agio}
forEach>
5.AddToCart.jsp的程序代码书上已有,buyitem.jsp的程序代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@pageimport="java.sql.*"%>
<%@pageimport="java.text.SimpleDateFormat"%>
<%@pageimport="com.sanqing.bean.Commodity"%>
<%@pageimport="com.sanqing.dao.CommodityDAO"%>
<%@pageimport="com.sanqing.factory.CommodityDAOFactory"%>
<%@taglibprefix="c"uri="
<%@taglibprefix="fmt"uri="
<%
Connectionconn=null;
Statementstat=null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Stringurl="jdbc:
mysql:
//localhost:
3306/javaweb";
Stringuser="root";
Stringpassword="123456";
conn=DriverManager.getConnection(url,user,password);
stat=conn.createStatement();
%>
forEachvar="commodit"items="${sessionScope.car}"varStatus="stat1"> <% intcommodityId=((Commodity)pageContext.findAttribute("commodit")).getCommodityId(); intuserId=Integer.parseInt(session.getAttribute("id").toString()); java.util.Datedate=newjava.util.Date(); java.sql.Datedate1=newjava.sql.Date(date.getTime()); Stringsql="INSERTINTOBuyitem(buycommodityId,buyUser,buyDate)VALUES('"+commodityId+"','"+userId+"','"+date1+"')"; stat.executeUpdate(sql); %>
forEach>
<%
if(stat!
=null)
{
stat.close();
}
if(conn!
=null)
{
conn.close();
}
%>
购买成功
6.show.jsp的程序代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@pageimport="java.sql.*"%>
<%@pageimport="com.sanqing.util.DBConnection"%>
您购买的商品如下:
<%
request.setCharacterEncoding("gb2312");
intuserId=Integer.parseInt(session.getAttribute("id").toString());
Connectionconn=DBConnection.getConnection();
Stringsql="SELECT*FROMItemWHEREbuyUser='"+userId+"'";
PreparedStatementpstmt=null;
try{
pstmt=conn.prepareStatement(sql);
ResultSetrs=pstmt.executeQuery();
%>
<%
while(rs.next())
{
out.print("
out.print("
out.print("
out.print("
out.print("
out.print("
out.print("
out.print("
}
}
catch(SQLExceptione){
e.printStackTrace();
}finally{
DBConnection.close(pstmt);//关闭预处理对象
DBConnection.close(conn);//关闭连接对象
}
%>
7.测试结果如下:
六、实验总结
通过这个购物车项目,我基本掌握了JSP+JavaBean的项目开发技术,在编写代码的过程中遇到了很多问题,比如数据库中文乱码问题,在一些相关的参考书中,我基本解决了这些问题。
另外,经过网上搜索,在老师同学的帮助下,购物车项目一步步完善起来,我知道还有很多不足之处,但是在这个实验过程中我学到了很多东西,值得欣慰。
同时在以后的学习中,除了学习知识外,还要不断地实践,这样才会有更大的提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA WEB 购物车实验报告 购物 实验 报告