JAVAEE实验报告sss.docx

上传人:b****6 文档编号:5101348 上传时间:2022-12-13 格式:DOCX 页数:17 大小:143.56KB
下载 相关 举报
JAVAEE实验报告sss.docx_第1页
第1页 / 共17页
JAVAEE实验报告sss.docx_第2页
第2页 / 共17页
JAVAEE实验报告sss.docx_第3页
第3页 / 共17页
JAVAEE实验报告sss.docx_第4页
第4页 / 共17页
JAVAEE实验报告sss.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

JAVAEE实验报告sss.docx

《JAVAEE实验报告sss.docx》由会员分享,可在线阅读,更多相关《JAVAEE实验报告sss.docx(17页珍藏版)》请在冰豆网上搜索。

JAVAEE实验报告sss.docx

JAVAEE实验报告sss

年级

2010级

班号

组号

 学号

 

专业

软件工程

 姓名

 

实验名称

JSP编程实现小型购物车

实验室

1、使用java的集合对象、session控制,购物车在结算前能进行购买数量的反复修改;

2、使用javaBean对购物车进行重新整合实现,实现表示层和业务逻辑层的分离;

3、掌握JSP指令的使用方法及JSP动作的使用方法;

4、掌握JSP内置对象的使用方法及JavaBean的编程技术及使用方法;

5、掌握JSP中数据库编程方法;

实验原理:

(1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息。

(2)编写一个JSP程序来处理用户提交的登录信息,如果用户名为本小组成员的名字且密码为对应的学号时,采用JSP内置对象的方法跳转到订购页面(显示店中商品的种类和单价等目录信息);否则采用JSP动作提示用户重新登录(注:

此页面上要包含前面的登录界面)。

(3)当顾客填好所需商品的数量并点击提交按钮时,将前面订购的商品放入购物车中并显示购物车里的相关信息,包括商品的名称和数量以及所有商品的总价格(关于总价格的计算,要求通过编写一个JavaBean来辅助实现)。

(4)修改登录程序。

将合法用户信息(用户名)写入数据库中,登录时通过查找数据库来完成登录。

具体实现:

1、首先运行程序,进入登录界面“login.jsp”,输入用户名和密码,点击“提交”,程序跳转至“checkUsername.jsp”中进行判断,其中在“checkUsername.jsp”页面中连接到了Mysql数据库“jdbc:

mysql:

//localhost:

3306/shopping","root","654869"”,核心算法如下(非完整代码):

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

conn=java.sql.DriverManager.getConnection("jdbc:

mysql:

//localhost:

3306/shopping","root","654869");

java.sql.Statementstmt=conn.createStatement();

if((Name!

=null&&Name.length()!

=0)&&(Password!

=null&&Password.length()!

=0))

{

Stringsqlstr="select*fromloginwhere(username='"+Name+"'andpassword='"+Password+"')";

sqlRst=stmt.executeQuery(sqlstr);

if(sqlRst.next())

{

response.sendRedirect("successlogin.jsp");

}

else

{

out.println("密码错误");

response.sendRedirect("login.jsp");

}

}

else

{

System.out.println("用户密码不能为空");

response.sendRedirect("login.jsp");

}

else{

out.println("密码错误");

response.sendRedirect("login.jsp");

}

}

else

{

System.out.println("用户密码不能为空");

response.sendRedirect("login.jsp");

}

2、登陆成功以后,进入购物界面(successlogin.jsp),本程序只给出了三种货物,以及价格,共用户选择,用户可以选择相应货物的数量,点击提交,程序会跳转至“log.jsp”,界面上会列出顾客所购买的水果,它们相应的数量,以及总的付款钱数,布局代码如下(非完整代码):

种类

单价

数量

苹果

5.0

香蕉

2.5

梨子

1.0


3、在结算界面“log.jsp”中,用到一个类——”add.java”,用来对各种数量的水果根据对应的价格进行总和的计算:

结算界面代码:

计算总额

<%request.setCharacterEncoding("gb2312");%>

useBeanid="add1"scope="page"class="com.jsp.add"/>

setPropertyname="add1"property="appleSum"param="apple_amount"/>

setPropertyname="add1"property="bananaSum"param="banana_amount"/>

setPropertyname="add1"property="grapeSum"param="grape_amount"/>

您的购物信息:

名称

单价

数量


苹果

getPropertyname="add1"property="applePrice"/>

getPropertyname="add1"property="appleSum"/>


香蕉

getPropertyname="add1"property="bananaPrice"/>

getPropertyname="add1"property="bananaSum"/>


葡萄

getPropertyname="add1"property="grapePrice"/>

getPropertyname="add1"property="grapeSum"/>


总额:

getPropertyname="add1"property="total"property="total"/>

Add类代码

packagecom.jsp;

publicclassadd{

privatefloatapplePrice,appleSum;

privatefloatbananaPrice,bananaSum;

privatefloatgrapePrice,grapeSum;

privatefloattotal;

publicadd(){

applePrice=(float)5.0;;

appleSum=0;

bananaPrice=(float)2.5;;

bananaSum=0;

grapePrice=(float)1.0;

grapeSum=0;

total=0;

}

publicfloatgetApplePrice(){

returnapplePrice;

}

publicvoidsetApplePrice(floatapplePrice){

this.applePrice=applePrice;

}

publicfloatgetAppleSum(){

returnappleSum;

}

publicvoidsetAppleSum(floatappleSum){

this.appleSum=appleSum;

}

publicfloatgetBananaPrice(){

returnbananaPrice;

}

publicvoidsetBananaPrice(floatbananaPrice){

this.bananaPrice=bananaPrice;

}

publicfloatgetBananaSum(){

returnbananaSum;

}

publicvoidsetBananaSum(floatbananaSum){

this.bananaSum=bananaSum;

}

publicfloatgetGrapePrice(){

returngrapePrice;

}

publicvoidsetGrapePrice(floatgrapePrice){

this.grapePrice=grapePrice;

}

publicfloatgetGrapeSum(){

returngrapeSum;

}

publicvoidsetgrapeSum(floatgrapeSum){

this.grapeSum=grapeSum;

}

publicfloatgetTotal(){

setTotal(applePrice*appleSum+bananaPrice*bananaSum+grapePrice*grapeSum);

returntotal;

}

publicvoidsetTotal(floattotal){

this.total=total;

}

}

Visio中系统流程图为

实验分析

运行程序,用户进入登陆界面,然后输入用户名和密码进入购物界面,其中苹果单价为5元,香蕉单价为2.5元,梨子单价为1元,在购买框中各选择数量为10,到结算界面中时,各水果总和应该为85元,程序正确运行

1、登录界面:

2、成功登录界面

3、结算界面

4、数据库界面

本次实验是将JSP、javabean、数据库连接在一起,实现后台与前台的分离,使得JSP页面更加可读、易维护。

Javabean实现的是向购物车中添加商品的功能,数据库实现的是从后台读取用户名和密码。

通过哟实验更好的了解了JSP和javabean与数据库之间的联系,同时对JSP的工作原理也有了更进一步的了解。

Jsp作为一种实现普通静态Html和动态Html混合编码的技术,从其代码形式上其页面更像是普通的Web页面而不想Servlet页面,但实际上它是会最终的转化为标准的Servlet,因此有了前面的Servlet的编程基础,自己在理解和掌握Jsp编程时就感到比较的容易上手,通过实验二Jsp实验的编程练习,我学到了Jsp编码的三种成分,即脚本元素、Jsp指令和动作的使用方法以及为提高用户代码的可读性的注释的使用方法,同时用到了Jsp的内置对象、Mysql数据库建立、连接以及使用方法。

 

教师签名:

年月日

源代码:

1、登录界面:

login.jsp

<%@pagecontentType="text/html"pageEncoding="gb2312"%>

购物车登陆窗口

\java_ee\jsp\images\loginback.jpg">


欢迎登陆购物车

用户名:

密码:

2、数据库验证界面checkUsername.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>

<%@pageimport="java.sql.SQLException"%>

<%

StringName=request.getParameter("username");

StringPassword=request.getParameter("password");

java.sql.Connectionconn=null;

java.sql.ResultSetsqlRst;

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

conn=java.sql.DriverManager.getConnection("jdbc:

mysql:

//localhost:

3306/shopping","root","654869");

java.sql.Statementstmt=conn.createStatement();

if((Name!

=null&&Name.length()!

=0)&&(Password!

=null&&Password.length()!

=0))

{

Stringsqlstr="select*fromloginwhere(username='"+Name+"'andpassword='"+Password+"')";

sqlRst=stmt.executeQuery(sqlstr);

if(sqlRst.next())

{

response.sendRedirect("successlogin.jsp");

}

else

{

out.println("密码错误");

response.sendRedirect("login.jsp");

}

}

else

{

System.out.println("用户密码不能为空");

response.sendRedirect("login.jsp");

}

%>

3、成功登录界面:

successlogin.jsp

<%@pagecontentType="text/html;charset=gb2312"%>

简单购物车

欢迎来到水果店购物


种类

单价

数量

苹果

5.0

香蕉

2.5

梨子

1.0


4、结算界面log.jsp

<%@pagecontentType="text/html"pageEncoding="gb2312"%>

DOCTYPEhtml>

计算总额

<%request.setCharacterEncoding("gb2312");%>

useBeanid="add1"scope="page"class="com.jsp.add"/>

setPropertyname="add1"property="appleSum"param="apple_amount"/>

setPropertyname="add1"property="bananaSum"param="banana_amount"/>

setPropertyname="add1"property="grapeSum"param="grape_amount"/>

您的购物信息:

名称

单价

数量


苹果

getPropertyname="add1"property="applePrice"/>

getPropertyname="add1"property="appleSum"/>


香蕉

getPropertyname="add1"property="bananaPrice"/>

getPropertyname="add1"property="bananaSum"/>


葡萄

getPropertyname="add1"property="grapePrice"/>

getPropertyname="add1"property="grapeSum"/>


总额:

getPropertyname="add1"property="total"property="total"/>

>

5、Add类

packagecom.jsp;

publicclassadd{

privatefloatapplePrice,appleSum;

privatefloatbanan

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1