问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求J2EE的网上图书销售系统

发布网友 发布时间:2022-05-16 10:39

我来回答

4个回答

热心网友 时间:2023-10-19 22:33

1)getRequest()方法
该方法负责从页面接收到的表单资料分解,并设置图书实体的相应属性,它的返回值为Boolean类型,true表示成功,反之表示失败。部分代码如下:
public boolean getRequest(javax.servlet.http.HttpServletRequest newrequest) {
boolean flag = false;
try{
request = newrequest;
String ID = request.getParameter("id");
long bookid = 0;
try{
bookid = Long.parseLong(ID);
}catch (Exception e){
}
abooks.setId(bookid);
String bookname = request.getParameter("bookname");
if (bookname==null || bookname.equals(""))
{
bookname = "";
sqlflag = false;
}
abooks.setBookName(to_String(bookname));
String author = request.getParameter("author");
if (author==null || author.equals(""))
{
author = "";
sqlflag = false;
}
abooks.setAuthor(to_String(author));
String publish = request.getParameter("publish");;
if (publish==null)
{
publish = "";
}
abooks.setPublish(to_String(publish));
String bookclass = request.getParameter("bookclass");
int bc = Integer.parseInt(bookclass);
abooks.setBookClass(bc);
String bookno = request.getParameter("bookno");
if (bookno == null)
{
bookno = "";
}
abooks.setBookNo(to_String(bookno));
String picture = request.getParameter("picture");
if (picture == null)
{
picture = "images/01.gif";
}
abooks.setPicture(to_String(picture));
float price;
try {
price =new Float(request.getParameter("price")).floatValue();
} catch (Exception e){
price = 0;
sqlflag = false;
}
abooks.setPrince(price);
int amount;
try{
amount = new Integer(request.getParameter("amount")).intValue();
}catch (Exception e){
sqlflag = false;
amount = 0;
}
abooks.setAmount(amount);
String content = request.getParameter("content");
if (content == null)
{
content = "";
}
abooks.setContent(to_String(content));
if (sqlflag)
{
flag = true;
}
return flag;
}catch (Exception e){
return flag;
}
}
2)book_search()方法
该方法负责图书查询,包括图书的分类,分页、关键字查询。首先通过getRequest()方法获得页面表单参数值,根据参数值判断是何种查询,然后根据相应的SQL的语句从数据库里查询相应的值。这里需要用到分页技术。
部分代码如下:
/**
* 完成图书查询,包括分类,分页查询
* @param res
* @return
* @throws java.lang.Exception
*/
public boolean book_search(HttpServletRequest res) throws Exception {
DataBase db = new DataBase();
db.connect();
Statement stmt = db.conn.createStatement ();
request = res;
String PAGE = request.getParameter("page"); //页码
String classid = request.getParameter("classid");//分类ID号
String keyword = request.getParameter("keyword");//查询关键词
if (classid==null) classid="";
if (keyword==null) keyword = "";
keyword = to_String(keyword).toUpperCase();
try {
page = Integer.parseInt(PAGE);
}catch (NumberFormatException e){
page = 1;
}
//取出记录数
if (!classid.equals("") && keyword.equals("") ) {
sqlStr = "select count(*) from book where bookclass='"+classid + "'";
}
else if (!keyword.equals("")) {
if (classid.equals("")){
sqlStr = "select count(*) from book where upper(bookname) like '%" +
keyword+ "%' or upper(content) like '%" + keyword + "%'";
} else {
sqlStr = "select count(*) from book where bookclass='" + classid
+ "' and (upper(bookname) like '%" +keyword+ "%' or "+
"upper(content) like '%" + keyword + "%')";
}
} else {
sqlStr = "select count(*) from book";
}
int rscount = pageSize;
try {
ResultSet rs1 = stmt.executeQuery(sqlStr);
if (rs1.next()) recordCount = rs1.getInt(1);
rs1.close();
}catch (SQLException e){
System.out.println(e.getMessage());
return false;
}
//设定有多少pageCount
if (recordCount < 1)
pageCount = 0;
else
pageCount = (int)(recordCount - 1) / pageSize + 1;
//检查查看的页面数是否在范围内
if (page < 1)
page = 1;
else if (page > pageCount)
page = pageCount;
rscount = (int) recordCount % pageSize; // 最后一页记录数
//sql为倒序取值
sqlStr = "select a.id,a.bookname,a.bookclass,b.classname,"+
"a.author,a.publish,a.bookno,a.content,a.prince,a.amount,"+
"a.Leav_number,a.regtime,a.picture from book a,bookclass b"+
" where a.Bookclass = b.Id ";
if (!classid.equals("") && keyword.equals("") ){ //如果类别不为空,非查询
if (page == 1)
{
sqlStr = sqlStr + " and a.bookclass='" + classid + "' "+
"order by a.Id desc";
} else {
sqlStr = sqlStr + " and a.bookclass='" + classid + "limit "+
(recordCount-pageSize * page)+","+(recordCount-pageSize * (page-1));
}
} else if (!keyword.equals("")) { //如果是查询资料
if (page == 1){
if (!classid.equals("")) {//查询某一类
sqlStr = sqlStr + "and a.Bookclass='" +
classid + "' and (upper(a.bookname) like '%" +
keyword+ "%' or upper(a.content) like '%" +
keyword + "%') order by a.Id desc";
} else { //查询所有类
sqlStr = sqlStr + " and (upper(a.bookname) like '%" +
keyword+ "%' or upper(a.content) like '%" +
keyword + "%') order by a.Id desc";
}
} else {
if (!classid.equals("")){
sqlStr = sqlStr + " and a.Bookclass='" +
classid + "' and (upper(a.bookname) like '%" +
keyword+ "%' or upper(a.content) like '%" +
keyword + "%') limit "+(recordCount-pageSize * page)+","+
(recordCount-pageSize * (page-1));
} else {
sqlStr = sqlStr + " and (upper(a.bookname) like '%" +
keyword+ "%' or upper(a.content) like '%" +
keyword + "%') limit "+(recordCount-pageSize * page)+","+
(recordCount-pageSize * (page-1));
}
}
} else {//非查询,也非分类浏览
if (page == 1){
sqlStr = sqlStr + " order by a.Id desc limit 0,"+pageSize;
} else {
sqlStr = sqlStr + "limit "+(recordCount-pageSize * page)+","+
(recordCount-pageSize * (page-1));
}
}
try {
rs = stmt.executeQuery(sqlStr);
booklist = new Vector(rscount);
while (rs.next()){
book book = new book();
book.setId(rs.getLong("id"));
book.setBookName(rs.getString("bookname"));
book.setBookClass(rs.getInt("bookclass"));
book.setClassname(rs.getString("classname"));
book.setAuthor(rs.getString("author"));
book.setPublish(rs.getString("publish"));
book.setBookNo(rs.getString("Bookno"));
book.setContent(rs.getString("content"));
book.setPrince(rs.getFloat("prince"));
book.setAmount(rs.getInt("amount"));
book.setLeav_number(rs.getInt("leav_number"));
book.setRegTime(rs.getString("regtime"));
book.setPicture(rs.getString("picture"));
booklist.addElement(book);
}
rs.close();
return true;
}catch (Exception e){
System.out.println(e.getMessage());
return false;
}
}
3)insert()方法
该方法负责图书的添加,返回类型为Boolean型,true表示成功,反之失败。首先从图书对象中获得属性,组装相应的SQL语句并执行,返回执行结果。代码如下:
/**
* 完成图书添加
* @return
* @throws java.lang.Exception
*/
public boolean insert() throws Exception {
sqlStr = "insert into book (Bookname,Bookclass,Author,Publish,Bookno,"+
"Content,Prince,Amount,Leav_number,Regtime,picture) values ('";
sqlStr = sqlStr + dataFormat.toSql(abooks.getBookName()) + "','";
sqlStr = sqlStr + abooks.getBookClass() + "','";
sqlStr = sqlStr + dataFormat.toSql(abooks.getAuthor()) + "','";
sqlStr = sqlStr + dataFormat.toSql(abooks.getPublish()) + "','";
sqlStr = sqlStr + dataFormat.toSql(abooks.getBookNo()) + "','";
sqlStr = sqlStr + dataFormat.toSql(abooks.getContent()) + "','";
sqlStr = sqlStr + abooks.getPrince() + "','";
sqlStr = sqlStr + abooks.getAmount() + "','";
sqlStr = sqlStr + abooks.getAmount() + "',";
sqlStr = sqlStr + "now()"+ ",'";
sqlStr = sqlStr + abooks.getPicture()+"')";
try{
System.out.print(sqlStr);
DataBase db = new DataBase();
db.connect();
stmt =db.conn.createStatement ();
stmt.execute(sqlStr);
return true;
}catch (SQLException sqle){
System.out.print(sqle.getMessage());
return false;
}
}
5.4客户界面设计
5.4.1界面头、界面尾设计
为了提高代码的重用性,我把客户界面部分相同的头和尾做成两个模块,分别命名为 head.inc 和tail.inc,这两个文件都是纯 HTML代码,在头和尾引入下面的两句代码方可;
<%@include file=”/bookshop/inc/head.inc”%>
<%@include file=”/bookshop/inc/tail.inc”%>

热心网友 时间:2023-10-19 22:34

OA、ERP、进销存、固定资产、工程项目、数字校园、物流,物业等多套管理系统,功能可定制,可OEM

热心网友 时间:2023-10-19 22:34

java与模式这本书不错。这本书讲java原理与模式设计,3框架的话没什么的。这些是小技巧。做一下项目就能懂,关键是java基础要打牢。

热心网友 时间:2023-10-19 22:35

直接一个标题叫什么系统,需求说明书呢?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
孤胆枪手怎么设置局域网啊、 我家小狗刚领来,没有名字,拜托大家起个名字。 护肤品代加工 水浒Q传跨服PK是怎么回事啊 新水浒Q传什么叫PK保护状态,上号不到一分钟就被打,求解 水浒Q传 为什么要pk有什么好处? 为什么贷款每次都审核失败 有谁能说一下手机贷审核不通过的原因吗?我都审核好多次了都不能通过... 贷款审核失败是什么原因 为什么贷款未通过审核 网上图书销售系统英文翻译!急求! 新华书店网上购书平台叫什么 vivoy37相机有没有九宫格 养老保险低于基数怎么办 我的养老保险好低啊!! 以前年度养老金缴费太低现还能补缴吗 65岁以上农民养老金过低,原因是当年没有很好宣传相关*,导致养老保险交的少,建议解决? 企业给职工买的养老保险低,说过了两年不能补交怎么办? 我今年借给公司25万,作为周转资金,现在公司有钱了,公司公帐里面的钱,可以一次性转入我的私人账户吗? 公司账户的钱通过转账汇款到私人账户怎么办? 公账上的钱怎么才能用网银转到公司法人个人账户上?最高可以转多少?会计分录怎么做? 公司账户的钱多,净利润少怎么处理?账上的钱怎么取出来? 公帐上的钱用手机还是电脑转帐 从公帐上取出大量现金帐上如何处理?公司钱可以借给法人或私人吗? 公帐上的钱,卡和密码都是授权人所设,且被授权的人拒绝向外转账,怎么办_百度问一问 怎么把百度贴吧设置经典模式 如何把百度贴吧的浏览模式设置成图2这种形式 恢复白天模式白度铁贴吧 百家号发布视频高度相似但是查看了却没有这个视频 辩论;西部大开发支持与资金哪个更优先(急),正反都要 用WEB 做一个 JSP在线图书销售系统 ; 高达的星之继承者简介 一个售卖图书的网站,需要配置什么样的服务器? 图书销售管理系统(应用于书店) running man继承者们是哪一期 1000分求JSP的在线图书销售系统 康佳网络电视机怎么看电视台节目直播 社保卡遗产继承需要什么手续 快递公司运输时把货物损坏对方拒签淘宝卖家该怎么让快递赔付 我是卖家,收到淘宝买家退货发现破损,让快递出示破损证明,提供给淘宝以拒绝退款,但快递员说任何一家快 淘宝买家收到货物破损拒签,卖家怎么要求快递赔偿,需要什么凭证,卖家跟快递合作一般都签署的合约有哪些 淘宝买的东西签收时没验货,回去之后发现坏了,还能去快递开出红章证明吗? 淘宝 如果你验货,有质量问题,要让快递写个证明,这个证明用来做什么?! 淘宝网上买的衣服坏了, 卖家不让退货。如要退货就要我去快递公司出具证明?我该怎么样办? 在淘宝上退货,卖家已经签收,快递公司开了破损证明。 淘宝卖家发货应注意哪些,快递丢件或损坏怎么办 淘宝卖东西,东西在快递运输途中损坏了,卖家怎么办? 淘宝卖家如何和快递关于货物损坏赔偿问题沟通。 关于淘宝的问题,收到的东西有损坏,卖家说找快递负责,快递说是卖家的问题,我该怎么办? 问一下。我是新闻传播新生,,都说不太好找工作,是这样吗?谢谢了