Servlet商品管理系统.docx

上传人:b****0 文档编号:9119870 上传时间:2023-05-17 格式:DOCX 页数:23 大小:63.80KB
下载 相关 举报
Servlet商品管理系统.docx_第1页
第1页 / 共23页
Servlet商品管理系统.docx_第2页
第2页 / 共23页
Servlet商品管理系统.docx_第3页
第3页 / 共23页
Servlet商品管理系统.docx_第4页
第4页 / 共23页
Servlet商品管理系统.docx_第5页
第5页 / 共23页
Servlet商品管理系统.docx_第6页
第6页 / 共23页
Servlet商品管理系统.docx_第7页
第7页 / 共23页
Servlet商品管理系统.docx_第8页
第8页 / 共23页
Servlet商品管理系统.docx_第9页
第9页 / 共23页
Servlet商品管理系统.docx_第10页
第10页 / 共23页
Servlet商品管理系统.docx_第11页
第11页 / 共23页
Servlet商品管理系统.docx_第12页
第12页 / 共23页
Servlet商品管理系统.docx_第13页
第13页 / 共23页
Servlet商品管理系统.docx_第14页
第14页 / 共23页
Servlet商品管理系统.docx_第15页
第15页 / 共23页
Servlet商品管理系统.docx_第16页
第16页 / 共23页
Servlet商品管理系统.docx_第17页
第17页 / 共23页
Servlet商品管理系统.docx_第18页
第18页 / 共23页
Servlet商品管理系统.docx_第19页
第19页 / 共23页
Servlet商品管理系统.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Servlet商品管理系统.docx

《Servlet商品管理系统.docx》由会员分享,可在线阅读,更多相关《Servlet商品管理系统.docx(23页珍藏版)》请在冰点文库上搜索。

Servlet商品管理系统.docx

Servlet商品管理系统

Servlet商品管理系统设计

一、

二、

三、

 

五、

2

8

六、

七、2

网上商品信息处理

需求分析

编程实现网上商品处理界面,与数据库相连后,实现通过servlet对数据库信息进行操作,包括查询、添加、删除、更新修改记录等,并翻页显示结果。

总体设计

总体设计框架如下图所示:

其中为主页面,分别链接到四个子页面进行不同的操作。

为查询界面,窗体显示商品ID,商品名称,商品数量标识,用户填入想要进行的查询操作后,点击查询按钮,触发QueryServlet中Post函数;

为添加界面,窗体同样显示商品ID,商品名称,商品数量标识,用户必须填入要加入商品的ID号,而商品名称和数量可以为空值,点击添加按钮触发AddServlet中的Post函数;

为修改界面,窗体同样显示商品ID,商品名称,商品数量标识,用户必须填入要修改的商品ID号、商品名称及商品数量,此处不支持填写空值,点击修改按钮触发UpdateServlet中Post函数;

为删除界面,窗体同样显示商品ID,商品名称,商品数量标识,用户可以填入其中一项进行查询,点击删除按钮,触发DeleteServlet中Post函数;

考虑到缺省情况,上述子页面遇到无任何输入的情况下,默认连接数据库,直接查询所有表项,并在中分页显示结果。

详细设计

一、查询模块设计

查询功能分为四种情况,首先,若填入ID不为空,则按照ID查询,调用QueryById()函数;若ID为空,判断name是否为空,若不为空,则按照name查询,调用QueryByName()函数;若name为空,判断num是否为空,若不为空,则按照num查询,调用QueryByNum()函数;最后,若均为空,则为默认情况,调用ShowAll()函数显示数据库中所有表项。

大体框架如下

QueryById()、QueryByName()、QueryByNum()函数均为了实现查询功能,大致相同,仅传递的SQL语句不同;为了使结果能够分页显示,这里将从数据库返回的表项一次填入到自定义类Product实例中,并加入ArrayList容器,用到函数MakeList(),并用session传递到进行分页处理显示。

2、添加模块设计

添加模块主要有两种情况,首先判断JSP中输入的ID是否为空,若为空,因为主键为空,所以添加无效,因此为默认情况,调用ShowAll()函数返回所有表项,分页显示;若不为空,则可执行添加工作,为显示添加成功,此处再次调用ShowAll()显示出你所添加的项已经存在于表项当中。

大致框架如下:

3、修改模块设计

修改模块功能分为两种情况首先,若填入ID不为空,则按照填入消息对SQL语句进行传递,修改后再次查询所有表项,显示出来后证明确实将所需修改的表项进行了修改;若ID为空,为默认情况,调用ShowAll()函数,全部显示。

大致框架如下:

4、删除模块设计

删除功能分为四种情况,首先,若填入ID不为空,则按照ID删除,调用DeleteById()函数;若ID为空,判断name是否为空,若不为空,则按照name删除,调用DeleteByName()函数;若name为空,判断num是否为空,若不为空,则按照num删除,调用DeleteByNum()函数;最后,若均为空,则为默认情况,调用ShowAll()函数显示数据库中所有表项。

大致框架如下:

5、Product类设计

该类的主要功能是将表项封装到一个实例中去,而后将实例一次放入一个list中,而后可以通过检索list来一次输出,因此,Product类中主要有与数据库表项相匹配的变量和相应变量的get、set方法。

六、JSP设计

上述四个JSP子页面的主要功能是为了给用户提供输入框,根据条件获取相应数据库表项,因此JSP大致需一下几个部分:

首先是为了和Servlet相关联的form:

在form中添加入文字和文本域供用户使用,例如:

还有提交按钮,触发Servlet行为,例如:

7、UI界面美化

为了使用户使用时更加美观、方便,这里使用可视化的Dreamweaver软件进行界面设计、图片插入,而后将JSP代码填入具体JSP进行路径、链接配置。

8、环境配置

1、Java运行环境:

,Javawebproject;

2、数据库平台:

MySql;

3、服务器平台:

TomCat6;

关键程序源代码

1、JSP源代码

1)代码:

...............................................

 

...................................................

2)代码:

...................................................

 

..................................................

3)代码:

..................................................

 

..................................................

4)代码:

..................................................

 

..................................................

5)代码:

..................................................

 

..................................................

6)代码:

..................................................

<%

intcurrentPage=1;

intfirstCount=1;

intendCount=1;

Listlist=null;

list=(ArrayList)("list");

inteveryPage=2;

inttotalCount=();

inttotalPage=totalCount/everyPage+1;

+totalPage);

+totalCount);

StringpageNum=("pageNum");

if(pageNum==null||("")){

currentPage=1;

}else{

currentPage=(pageNum);

if(currentPage<=0){

currentPage=1;

}elseif(currentPage>totalPage){

currentPage=totalPage;

}

}

if(currentPage>0&¤tPage<=totalPage){

firstCount=(currentPage-1)*everyPage+1;

}

+currentPage);

+firstCount);

if(currentPage>0&¤tPage<=(totalPage-1)){

endCount=firstCount+everyPage;

}elseif((currentPage)>0&&(currentPage==totalPage)){

endCount=firstCount+totalCount%everyPage;

}

+endCount);

%>

id

商品名称

商品数量

<%

for(inti=firstCount;i

%>

<%=((i-1)).getId()%>

<%=((i-1)).getName()%>

<%=((i-1)).getNum()%>

<%

}

%>

?

pageNum=<%=currentPage-1%>">上一页

?

pageNum=<%=currentPage+1%>">下一页

/">gobacktomainpage

..................................................

2、Servlet源代码

1)AddServlet代码:

(仅列出关键部分)

..................................................

orward(request,response);

}

catch(SQLExceptione)

{

}

}

publicvoidShowAll(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException

{

ArrayListl=newArrayList();

try

{

}

catch(Exceptione)

{

}

try

{

stmt=();

Stringsql=newString("select*fromshangpin");

rs=(sql);

l=(ArrayList)MakeList(rs);

HttpSessions=();

("list",l);

("/").forward(request,response);

}

catch(SQLExceptione)

{

}

}

publicListMakeList(ResultSetrs)throwsSQLException

{

Listl=newArrayList();

while())

{

Productp=newProduct

(1),

(2),(3));

(p);

}

returnl;

}

publicvoidinit()throwsServletException{

}

}

..................................................

2)QueryServlet代码:

..................................................

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

id=("id");

name=("name");

a=("num");

if(a==null||(""))

{

num=0;

}

elsenum=(a);

if(id!

=null&&!

(""))

{

QueryById(request,response,id);

}

elseif(name!

=null&&!

(""))

{

QueryByName(request,response,name);

}

elseif(num!

=0)

{

QueryByNum(request,response,num);

}

else

ShowAll(request,response);

}

publicvoidQueryById(HttpServletRequestrequest,HttpServletResponseresponse,Stringid)

{

ArrayListl=newArrayList();

try

{

conn=

}

catch(Exceptione)

{

"Openconn:

"+());

}

try

{

stmt=();

Stringsql=newString("select*fromshangpinwhereid="+"'"+id+"'");

rs=(sql);

l=(ArrayList)MakeList(rs);

Http

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2