JSP+Access 网上购物系统 第5页

JSP+Access 网上购物系统 第5页

图5-5新闻列表news

字段
 字段名
 类型
 宽度
 小数位
 索引
 可否为空
 
News_id
 新闻编号
 自动编号
  
 是 
 
News_title
 新闻标题
 文本型
 255
 
News_content
 新闻内容
 备注型
 
News_date
 新闻日期
 日期型
  [说明]存储网站新闻信息,与其他表没有关联。

表5-6网站信息表system

字段
 Name
 Mail
 Tel
 Adds
 OICQ
 MSN
 Sitename
 Fax
 Code
 
字段名
 姓名
 信箱
 电话
 地址
 QQ
 MSN
 网站名称
 传真
 邮编
 
类型
 文本
 文本
 文本
 文本
 数值
 数值
 文本
 文本
 文本

[ 说明]该表主要存储一些网站信息,如系统管理员的联系方式等,以页面的形式提供给用户,与其他表没有关联。                                                 

表5-7 广告信息列表ad

字段
 字段名
 类型
 宽度
 小数位
 索引
 口否为空
 
Id
 自动编号
 自动编号
 
 
 是
 否
 
url
 链接地址
 文本型
 50
 
Wordlink
 链接名称
 文本型
 50
  
Content
 链接内容
 文本型
 50

[说明]该表为单独的表,与其他表没有关联,主要存储一些链接网站或广告信息。

5.2 功能总体说明

5.2.1 目录结构说明

(1) admin 用于存储系统管理员的后台操作脚本,包括商品类别管理、商品信息管理、站内公告管理、订单管理、系统用户管理等功能;

(2) pic 用来存储商品的图片资料,管理员上传的商品图片也存在这里。

(3) img 用来存储网页上的图片文件。

(4) database 用来存储系统的数据库,由于环境限制,本系统采用的是windows自带的Access数据库,所有的相关表也都放在这里。

(5) Class 用来存储封装起来的一些servelet,也可称为JavaBean文件。

5.2.2 功能页面结构

(1)前台功能页面

主页面框架:

index.jsp,top.jsp,in-search.jsp,includenotice.jsp,paihang.jsp,middle.jsp

商品展示:bought.jsp,cash.jsp,showing.jsp,views.jsp,inproduct.jsp 

登陆注册:dengluyufou.jsp reg.jsp,regsave.jsp,quit.jsp

(2)后台管理页面

主页面框架:index.jsp,manage.jsp,left.jsp,main.html,quit.jsp

商品管理:addhw.jsp,changehw.jsp,changehw_ok.jsp,savehw.jsp,delhw.jsp

用户管理:viewuser.jsp

新闻管理:addnews.jsp,editnews.jsp,delnews.jsp

公告管理:gg.jsp,gg2.jsp,ggdel.jsp

广告链接:guanggao.jsp,links.jsp,savelinks.jsp

5.2.3 主要功能流程


                                                  图5.1 主要功能流程图

5.3各功能模块的实现

5.3.1数据库的连接

出于安全性的考虑,我们将与数据库的连接,单独写出来并进行编译,也就是数据库连接的javabean文件,编译出来的.class文件是无法被修改的只能通过源文件进行修改,我们在JSP页面中只用直接调用改方法即可,在本系统中我们将其命名为为.faq

存放在class/ckstudio/db下设其id为mdb,我们在需要对数据库进行操作的时候只需在页面上添加这样一个标签<jsp:useBean id="mdb" class="ckstudio.db.faq" scope="page"/>即可。连接关键代码如下:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");定义驱动类型

  String strDirPath=application.getRealPath(request.getRequestURI());
  strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf('\\'))+"\\";

得到数据库的存放路径
  String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};

DBQ="+strDirPath+"db.mdb";
  定义连接地址

Connection conn = DriverManager.getConnection(url);

连接数据库
  Statement stmt = conn.createStatement();
  ResultSet rs = stmt.executeQuery(sql);

返回操作结果

5.3.2用户登陆模块的实现

用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行定购时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行定购。如果用户以浏览者的身份进入网站,则只能进行一般的商品浏览和搜索,而不能进行选购,在点击添加购物车后,系统会判断该用户是否是登陆用户,如果不是则弹出提示页面,提示用户必须先登陆才能定购商品,如果是第一次登陆,请先注册。

主页面的效果图如下:


                           图5.2 主页面示意图

登陆的具体实现要通过一个全程变量,即Session变量来实现,在系统中则由一个单独的session.jsp页面来放置该session。用户登录的界面dengluyufou.jsp,从member表查得用户提交的帐户名和密码正确后,用一个全局变量,即Session变量保存这一消息(该变量名称为Session(“user_name”))。具体的判断过程为:

若session中user为空即session.getAttribute("user_name")==null,表明没有经过登陆与否的验证,则立即跳转到dengluyufou.jsp,请用户登录;并将用户登陆的帐号和密码通过

user_name=request.getParameter("user_name");

user_pass=request.getParameter("user_pass");

分别赋给变量user_name,和user_pass,然后将其与数据库中的相应信息进行比较

String sql="select * from member where user_name='"+user_name+"'";

如果user_name存在的话则判断其密码是否正确

user_pass.equals(rs.getString("user_pass"))

如果为真则将用户信息赋给session session.setAttribute("user_name",""+rs.getString("user_name")+"");

以方便系统对用户在操作一些会员功能时进行用户身份验证。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有