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] 下一页