目录
1、项目简介
2、设计说明
3、实现效果
图5-1 网站首页
关键代码:
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
Goods goods=new Goods();
goods.setGid(rs.getString("gid"));
goods.setTid(rs.getString("tid"));
goods.setGname(rs.getString("gname"));
goods.setPhoto(rs.getString("photo"));
goods.setOlds(rs.getString("olds"));
goods.setQuan(rs.getString("quan"));
goods.setPrice(rs.getString("price"));
goods.setMemo(rs.getString("memo"));
goods.setAtime(rs.getString("atime"));
goods.setLname(rs.getString("lname"));
goodsList.add(goods);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("goodsList", goodsList);
req.getRequestDispatcher("member/default.jsp").forward(req, res);
关键代码:
List newsList=new ArrayList();
String sql="select * from news "+where+" order by id desc";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
News news=new News();
news.setId(rs.getString("id"));
news.setTitle(rs.getString("title"));
news.setCommet(rs.getString("commet"));
news.setNtime(rs.getString("ntime"));
newsList.add(news);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
图5-3 商品中心
关键代码:
List goodsList=new ArrayList();
String sql="select * from goods "+where+" order by gid desc";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
Goods goods=new Goods();
goods.setGid(rs.getString("gid"));
goods.setTid(rs.getString("tid"));
goods.setGname(rs.getString("gname"));
goods.setPhoto(rs.getString("photo"));
goods.setOlds(rs.getString("olds"));
goods.setQuan(rs.getString("quan"));
goods.setPrice(rs.getString("price"));
goods.setMemo(rs.getString("memo"));
goods.setAtime(rs.getString("atime"));
goods.setLname(rs.getString("lname"));
goodsList.add(goods);
}
rs.close();
}
在商品的详情页上,用户可以将商品直接购买,也可以将其加入收藏夹之中,购买之后可以在用户中心查询订单进度,如图5-4所示。
图5-4 在线购买
关键代码:
String id=req.getParameter("id");
Goods goods=new Goods();
String sql="select * from goods where gid=?";
Object[] params={id};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
rs.next();
goods.setGid(rs.getString("gid"));
goods.setTid(rs.getString("tid"));
goods.setGname(rs.getString("gname"));
goods.setPhoto(rs.getString("photo"));
goods.setOlds(rs.getString("olds"));
goods.setQuan(rs.getString("quan"));
goods.setPrice(rs.getString("price"));
goods.setMemo(rs.getString("memo"));
goods.setAtime(rs.getString("atime"));
goods.setLname(rs.getString("lname"));
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
在用户中心,用户可以更新自己的个人档案资料,也可以发布手中闲置的二手物品,同时也可以查看自己的订单以及收藏夹、留言等信息,如图5-7和5-8所示。
图5-7 用户中心
图5-8 用户中心
关键代码:
try {
mydb.doPstm(sql, params);
ResultSet rs = mydb.getRs();
if (rs.next()) {
HttpSession session = req.getSession();
session.setAttribute("lname", rs.getString("lname"));
res.sendRedirect("member/member.jsp");
} else {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<script>");
out.println("alert('对不起,用户名或密码错误!');");
out.println("window.location='member/login.jsp'");
out.println("</script>");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
5.2 网站后台的实现
5.2.1 系统管理
在系统管理功能模块中,超级管理员可以添加管理员账号信息,这样可以实现权限的分化,能够提高整个网站的管理效率,如图5-9所示。
图5-9 系统管理
关键代码:
String sql="insert into admin(lname,pwd,flag) values(?,?,0)";
Object[] params={lname,pwd};
DB mydb=new DB();
try {
mydb.doPstm("select * from admin where lname='" + lname + "'",null);
ResultSet rs=mydb.getRs();
if (rs.next())
{
res.setContentType("text/html;");
PrintWriter out = res.getWriter();
out.println("<script>");
out.println("alert('该登录名已存在!');window.history.go(-1);");
out.println("</script>");
return ;
}
} catch (SQLException e) {
e.printStackTrace();
}
5.2.2 网站公告管理
根据学校或者网站运营方的管理需求,管理员可以发布网站公告信息,以便用户及时了解学校或者网站运营方所发布的通知公告内容,如图5-10所示。
图5-10 网站公告管理
关键代码:
String title=req.getParameter("txt_title");
String commet=req.getParameter("Textarea1");
String sql="insert into news(title,commet,ntime) values(?,?,now())";
Object[] params={title,commet};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "添加成功");
req.setAttribute("path", "admin/news/news_Add.jsp");
5.2.3 用户管理
管理员可以查看在该网站上注册的用户信息,如图5-11所示,可以对其基本资料进行查看或者删除处理。
图5-11 用户管理
关键代码:
String sql="insert into users(lname,pass,uname,tel,email,address,pic,rtime) values(,now())";
Object[] params={lname,pass,uname,tel,email,address,pic,};
DB mydb=new DB();
try {
mydb.doPstm("select * from users where lname='" + lname + "'",null);
ResultSet rs=mydb.getRs();
4、源码获取及技术文档展示
源代码目录
技术文档