JSP+Oracle CD购物系统 第4页

JSP+Oracle CD购物系统 第4页

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, head.inc

商品展示: cdlist.jsp

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

5.2.3 主要功能流程

主页面

index.jsp


 
商品修改
 
用户登陆
 
注册
 
管理进入
 
添加到购物车
 
订单管理
 
资料修改
 
商品管理
 
商品添加
 
会员管理
 
订单修改
 
订单添加
 
是否会员
 
搜索物品
 
选购物品
 
结帐付款
 
填写订货单
 
购物成功
 
会员删除
 
退出
 

图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用户登陆模块的实现

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

主页面的效果图如下:

登陆的具体实现要通过一个全程变量,即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] 下一页

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