| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1450 人关注过本帖
标题:我做了一个网上卖东西的网站,但是调试有很多问题
只看楼主 加入收藏
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
 问题点数:0 回复次数:10 
我做了一个网上卖东西的网站,但是调试有很多问题
如题,哪位高手帮忙调试下,如果能加上注释就更好了
东西在附件里
有劳各位了
搜索更多相关主题的帖子: 调试 注释 附件 有劳 
2007-11-04 14:54
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
得分:0 
AX6y7hIc.rar (406.79 KB) 我做了一个网上卖东西的网站,但是调试有很多问题


附件在这! (netBeans工程)

坚持, 只因不原放弃.
2007-11-04 15:04
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
得分:0 

这是数据处理部分
package dao;

import java.util.ArrayList;
import model.Catalog;

/**
*
* @author moon
*/
public interface CatalogDAO {
public void add(Catalog c);
public void update(Catalog c);
public void delete(Catalog c);
public Catalog get(int id);
public ArrayList getCatalog();
public ArrayList getThings(Catalog c);

}


import dao.CatalogDAO;
import dao.DBUtil;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import model.Catalog;
import model.Things;
/*
* CatalogDAOImpl.java
*
* Created on 2007年10月30日, 下午6:51
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

/**
*
* @author wina
*/
public class CatalogDAOImpl implements CatalogDAO{

/** Creates a new instance of CatalogDAOImpl */
public CatalogDAOImpl() {
}

public void add(Catalog c) {
DBUtil db = new DBUtil();
try {
PreparedStatement ps = db.getConnection().prepareStatement("INERT INTO catalog(name) VALUES(?)");
ps.setString(1,c.getName());
ps.executeUpdate();
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}

public void update(Catalog c) {
DBUtil db = new DBUtil();
try {
PreparedStatement ps = db.getConnection().prepareStatement("UPDATE catalog SET name=? WHERE id=?");
ps.setString(1,c.getName());
ps.setInt(2,c.getID());
ps.executeUpdate();
ps.close();
} catch (SQLException ex) {

ex.printStackTrace();
}
}

public void delete(Catalog c) {
DBUtil db = new DBUtil();
try {
PreparedStatement ps = db.getConnection().prepareStatement("DELETE catalog WHERE id=?");
ps.setInt(1,c.getID());
ps.executeUpdate();
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}

public Catalog get(int id) {
Catalog c = new Catalog();
DBUtil db = new DBUtil();
PreparedStatement ps;
try {
ps = db.getConnection().prepareStatement("SELECT * FROM catalog WHERE id=?");
ps.setInt(1,c.getID());
ResultSet rs= ps.executeQuery();
if(rs.next())
{
c.setID(rs.getInt(1));
c.setName(rs.getString(2));
}
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
return c;
}

public ArrayList getCatalog() {
ArrayList al = new ArrayList();
DBUtil db = new DBUtil();
Statement s;
try {
s = db.getConnection().createStatement();
ResultSet rs= s.executeQuery("SELECT * FROM catalog");
while (rs.next())
{
Catalog c = new Catalog();
c.setID(rs.getInt(1));
c.setName(rs.getString(2));
al.add(c);
}
s.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
return al; //按传说中的命名规则,应该改为result;
}

public ArrayList getThings(Catalog c) {
ArrayList al = new ArrayList();
DBUtil db = new DBUtil();
PreparedStatement ps;
try {
ps = db.getConnection().prepareStatement("SELECT * FROM catalog WHERE catalog_id=?");
ps.setInt(1,c.getID());//设置第一个位置
ResultSet rs= ps.executeQuery();
while (rs.next())
{
Things thing = new Things();
thing.setID(rs.getInt(1));
thing.setTitle(rs.getString(2));
thing.setAuthor(rs.getString(3));
thing.setPrice(rs.getDouble(4));
thing.setPicture(rs.getString(5));
thing.setPostTime(rs.getDate(6));
thing.setClicks(rs.getInt(7));
al.add(thing);
}
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
return al; //按传说中的命名规则,应该改为result;
}



}


/*
* DBUtil.java
*
* Created on 2007年10月30日, 下午6:53
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package dao;

import java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

/**
*
* @author moon
*/
public class DBUtil {
private static Connection conn;
/** Creates a new instance of DBUtil */
public DBUtil()
{
if(conn ==null)
{
Context ctx;
try {
ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/moonStore");
} catch (Exception ex) {
ex.printStackTrace();
}

}
}
public static Connection getConnection()
{
return this.conn;
}

}
/*
* MoonDAO.java
*
* Created on 2007年11月1日, 上午10:18
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package dao;

import java.util.ArrayList;
import model.Things;

/**
*
* @author moon
*/
public interface ThingsDAO {
public void add(Things thing);
public void update(Things thing);
public void delete(Things thing);
public Things get(int id);
public ArrayList newThings();
public ArrayList hotThings();


}
/*
* ThingsDAOImpl.java
*
* Created on 2007年11月1日, 上午10:25
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import model.Things;

/**
*
* @author moon
*/
public class ThingsDAOImpl implements ThingsDAO {

/** Creates a new instance of ThingsDAOImpl */

public ThingsDAOImpl() {

}

public void add(Things thing) {
Connection conn = DBUtil.getConnection();

try {
PreparedStatement ps = conn.prepareStatement("INSERT INTO things(title,author,price,picture,postTime,clicks,catalog_ID) VALUES (?,?,?,?,now(),0,?)");
ps.setString(1,thing.getTitle());
ps.setString(2,thing.getAuthor());
ps.setDouble(3,thing.getPrice());
ps.setString(4,thing.getPicture());
ps.setDate(5,thing.getPostTime());
ps.setInt(6,thing.getClicks());
ps.setInt(7,thing.getCatalogID());
ps.executeUpdate(); //这是干什么? 刷新???
} catch (SQLException ex) {
ex.printStackTrace();
}
}

public void update(Things thing) {
Connection conn = DBUtil.getConnection();
try {
PreparedStatement ps = conn.prepareStatement("UPDATE things SET(title=?,author=?,price=?,picture=?,postTime=?,clicks=?,catalog_ID=?) VALUES (?,?,?,?,now(),0,?) WHERE id=?");
ps.setString(1,thing.getTitle());
ps.setString(2,thing.getAuthor());
ps.setDouble(3,thing.getPrice());
ps.setString(4,thing.getPicture());
ps.setDate(5,thing.getPostTime());
ps.setInt(6,thing.getClicks());
ps.setInt(7,thing.getCatalogID());
ps.setInt(8,thing.getID());
ps.executeUpdate(); //这是干什么? 刷新???
} catch (SQLException ex) {
ex.printStackTrace();
}
}

public void delete(Things thing) {
Connection conn = DBUtil.getConnection();
try {
PreparedStatement ps = conn.prepareStatement("DELETE FROM things WHERE id=?");
ps.setInt(1,thing.getID()); //为什么把他设为1
ps.executeUpdate(); //这是干什么? 刷新???
} catch (SQLException ex) {
ex.printStackTrace();
}
}

public Things get(int id) {
Connection conn = DBUtil.getConnection();
Things thing = new Things();
try {
PreparedStatement ps = conn.prepareStatement("SELECT * FROM things WHERE id=?");
ps.setInt(1,thing.getID()); //为什么把他设为1
ResultSet rs = ps.executeQuery();
if(rs.next())
{
ps.setInt(1,thing.getID());
ps.setString(2,thing.getTitle());
ps.setString(3,thing.getAuthor());
ps.setDouble(4,thing.getPrice());
ps.setString(5,thing.getPicture());
ps.setDate(6,thing.getPostTime());
ps.setInt(7,thing.getClicks());
ps.setInt(8,thing.getCatalogID());

}

} catch (SQLException ex) {
ex.printStackTrace();
}
return thing;
}

public ArrayList newThings() {
ArrayList result = new ArrayList();
Connection conn = DBUtil.getConnection();

try {
PreparedStatement ps = conn.prepareStatement("SELECT * FROM things ORDER BY post_time DESC LIMIT 0,5");
ResultSet rs = ps.executeQuery();
while(rs.next())
{
Things thing = new Things();
ps.setInt(1,thing.getID());
ps.setString(2,thing.getTitle());
ps.setString(3,thing.getAuthor());
ps.setDouble(4,thing.getPrice());
ps.setString(5,thing.getPicture());
ps.setDate(6,thing.getPostTime());
ps.setInt(7,thing.getClicks());
ps.setInt(8,thing.getCatalogID());
result.add(thing);
}

} catch (SQLException ex) {
ex.printStackTrace();
}
return result;
}

public ArrayList hotThings() {
return null; //暂未实现
}

}
/*
* UserDAO.java
*
* Created on 2007年11月3日, 上午11:21
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import model.User;

/**
*
* @author moon
*/
public class UserDAO {

/** Creates a new instance of UserDAO */
public UserDAO() {
}
public boolean isUserValid(User u)
{
boolean result = false;
PreparedStatement pstmt;
try {
pstmt = DBUtil.getConnection().prepareStatement("SELECT count(*) FROM user WHERE name=? AND password=?");
pstmt.setString(1,u.getName());
pstmt.setString(2,u.getPassword());
ResultSet rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt(1)==1)
{
result = true;
}
}
} catch (SQLException ex) {
ex.printStackTrace();
}
return result;
}

}




坚持, 只因不原放弃.
2007-11-04 15:37
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
得分:0 

//这是服务端部分
/*
* Catalog.java
*
* Created on 2007年10月30日, 下午6:47
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package model;

/**
*
* @author moon
*/
public class Catalog {
private int ID;
private String name;
/** Creates a new instance of Catalog */
public Catalog() {
}

public int getID() {
return ID;
}

public void setID(int ID) {
this.ID = ID;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}
/*
* CatalogService.java
*
* Created on 2007年10月30日, 下午7:43
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package model;


import CatalogDAOImpl; //什么毛病居然说有问题
import dao.CatalogDAO;
import java.util.ArrayList;

/**
*
* @author moon
*/
public class CatalogService {
public static ArrayList getCatalogs() {
CatalogDAO cDAO = new CatalogDAOImpl() ;
return cDAO.getCatalog();
}

public static ArrayList getThings(Catalog c) {
CatalogDAO cDAO = new CatalogDAOImpl() ;
return cDAO.getThings(c);
}

public static void addThing(Catalog c, Things thing) {
ThingsDAO thingDAO = new ThingsDAOImpl();
thing.setCatalogID(c.getID());
thingDAO.add(thing);
}

public static void removeThing(Catalog c, Things thing) {
ThingsDAO thingDAO = new ThingsDAOImpl();
thingDAO.delete(thing);
}

public static void addCatalog(Catalog c) {
CatalogDAO cDAO = new CatalogDAOImpl() ;
cDAO.add(c);
}

public static void delCatalog(Catalog c) {
CatalogDAO cDAO = new CatalogImpl();
cDAO.delete(c);
}

public static Catalog getCatalog(int id) {
CatalogDAO cDAO = new CatalogImpl();
cDAO.get(id);

}

public static void updateCatalog(Catalog c) {
CatalogDAO cDAO = new CatalogImpl();
cDAO.update(c);
}
public static void getThing(int ID)
{
ThingsDAO thingDAO = new ThingsDAOImpl();
return thingDAO.get(ID);
}
public static void updateThing(Things thing)
{
ThingsDAO thingDAO = new ThingsDAOImpl();
thingDAO.update(thing);
}
public static ArrayList getNewThings()
{
return (new ThingsDAOImpl()).newThings();
}
public static ArrayList getHotThing()
{
return (new ThingsDAOImpl()).hotThings();
}
public static void updateCliks(Things thing)
{
thing.setClicks(thing.getClicks()+1);
CatalogService.updateThing(thing);
}
public static boolean isUserValid(User u)
{
UserDAO uDAO = new UserDAO();
return uDAO.isUserValid();
}
public static void addItem(int id,ShoppingCart cart)
{
Things thing =CatalogService.getThing(id);
cart.addItem(new Integer(id),thing); //为什么非得用Integer 用int不好吗?!
}
}

/*
* CatalogServiceImpl.java
*
* Created on 2007年10月30日, 下午7:50
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package model;

import CatalogDAOImpl;
import dao.CatalogDAO;
import java.util.ArrayList;

/**
*
* @author moon
*/
public class CatalogServiceImpl implements CatalogService {

/** Creates a new instance of CatalogServiceImpl */
public CatalogServiceImpl() {
}

public ArrayList getCatalogs() {
CatalogDAO cDAO = new CatalogDAOImpl() ;
return cDAO.getCatalog();
}

public ArrayList getThings(Catalog c) {

}

}
//购物车
/*
* ShoppingCart.java
*
* Created on 2007年11月3日, 下午12:06
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package model;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;

/**
*
* @author moon
*/
public class ShoppingCart {
HashMap<Integer,ThingsItem> items = null;
/** Creates a new instance of ShoppingCart */
public ShoppingCart() {
items = new HashMap<Integer,ThingsItem>();
}
public synchronized void addItem(Integer thingID,Things thing) //同步避免死锁
{
if(!items.containsKey(thingID))
{
ThingsItem i = new ThingsItem();
i.setThing(thing);
items.put(thingID,i);
}
}
public synchronized void deleteItem(Integer thingID,Things thing) //删除一条
{
if(items.containsKey(thingID))
{
items.remove(thingID);
}
}
public synchronized void clear() //清除购物车
{
items.clear();
}
public int getNumOfItems()
{
return items.size();
}
public synchronized void setItemNum(Integer thingID,int quatity) //大单
{
if(items.containsKey(thingID))
{
if(quatity<=0)
{
items.remove(thingID);
}
else
{
ThingsItem ti = items.get(thingID);
ti.setQuatity(quatity);
}
}
}
public synchronized Collection<ThingsItem> getItems()
{
return items.values();
}
public synchronized double getTotalPrice()
{
double result = 0.0;
Collection<ThingsItem> thingItems = items.values();
Iterator i = thingItems.iterator();
while(i.hasNext())
{
ThingsItem ti = (ThingsItem)i.next();
result+=ti.getItemPrice();
}
return result;
}

}
/*
* Things.java
*
* Created on 2007年11月1日, 上午8:59
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package model;

import java.sql.Date;

/**
*
* @author moon
*/
//作用是将数据库中的数据转化为java中数据
public class Things {

/** Creates a new instance of Things */
private int ID;
private String title; //标注信息
private String author; //厂家
private double price;// 价格
private String picture;//标本图片
private Date postTime; //添加的时间
private int clicks ;//点击次数
public Things() {
}

public int getID() {
return ID;
}

public void setID(int ID) {
this.ID = ID;
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getAuthor() {
return author;
}

public void setAuthor(String author) {
this.author = author;
}

public double getPrice() {
return price;
}

public void setPrice(double price) {
this.price = price;
}

public String getPicture() {
return picture;
}

public void setPicture(String picture) {
this.picture = picture;
}

public Date getPostTime() {
return postTime;
}

public void setPostTime(Date postTime) {
this.postTime = postTime;
}

public int getClicks() {
return clicks;
}

public void setClicks(int clicks) {
this.clicks = clicks;
}

public int getCatalogID() { //暂未实现
return 0;
}



}
//用户列表
/*
* BookItem.java
*
* Created on 2007年11月3日, 下午12:00
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package model;

/**
*
* @author moon
*/
public class ThingsItem {

/** Creates a new instance of BookItem */
private Things thing;
private int quatity;
public ThingsItem() {
}

public Things getThing() {
return thing;
}

public void setThing(Things thing) {
this.thing = thing;
}

public int getQuatity() {
return quatity;
}

public void setQuatity(int quatity) {
this.quatity = quatity;
}
public double getItemPrice()
{
return thing.getPrice()*quatity;
}
}
//用户
/*
* User.java
*
* Created on 2007年11月3日, 上午11:02
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package model;

/**
* 建立对应表user (name,password,role(权限))
* @author moon
*/
public class User {

/** Creates a new instance of User */
private String ID;
private String name;
private String password;
private int role;
public User() {

}

public String getID() {
return ID;
}

public void setID(String ID) {
this.ID = ID;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public int getRole() {
return role;
}

public void setRole(int role) {
this.role = role;
}

}


坚持, 只因不原放弃.
2007-11-04 15:40
大嘴先生2
Rank: 1
等 级:新手上路
威 望:2
帖 子:815
专家分:0
注 册:2006-4-17
收藏
得分:0 
没人回呀,我也弄不出来
调试中。。。

骑白马的未必是王子,也可能是唐僧;有翅膀的未必是天使,也可能是鸟人。
2007-11-04 19:45
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
得分:0 
为什么没有 人回啊,呵呵

坚持, 只因不原放弃.
2007-11-05 13:47
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 
我帮你改过了这个购物网站既后台代码。里面有很多类都有问题,都改过来了,但是 jsp页面就要等一下了,因为LZ用了很多的JSTL的语句,但是我不是很懂,我当时还以为是用Struts的标签来写。
i0VSnaWK.rar (12.64 KB) 我做了一个网上卖东西的网站,但是调试有很多问题


如果再有什么问题再贴出来大家一齐讨论吧。
2007-11-05 14:45
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
得分:0 
谢谢你拉,真是好人,我看下,整个网站没有Struts
全是JSP JavaBean 写的

坚持, 只因不原放弃.
2007-11-06 19:23
xiaobohp
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-4-19
收藏
得分:0 
朋友,你给我的代码是netBeans工程吗?!
还上一SRC源包,为什么打不开呢?

坚持, 只因不原放弃.
2007-11-07 19:20
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 
   因为我不会用Netbeans,所以把它改了一下,改为Eclipse
2007-11-08 11:28
快速回复:我做了一个网上卖东西的网站,但是调试有很多问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018362 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved