实验报告-Web技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课内实验报告

课程名:Web 技术

任课教师:吴振宇

专业:物联网工程

成绩:

2015/2016学年第1学期

南京邮电大学

基于JSP的网上书城设计与实现

一、实验描述

1、需求分析

随着计算机网络技术的飞速发展和人们生活节奏的不断加快,电子商务技术已经逐渐融入了人们的日常生活当中,网上商城作为电子商务最普遍的一种形式,已被大众逐渐接受。因此开发一个网上商城系统,适合当今形势,更加方便人们在线购物。

2、分工:

负责实现图书选购、购物车功能、收藏功能、查看图书详细信息、用户注册、用户登录、查看用户的订单信息、修改用户个人信息。

负责实现现有图书管理:修改,删除,查看、用户管理:查看,修改,删除、订单管理:查看订单清单,更新订单付款,出货状态,删除订单、添加新图书、添加图书分类。

负责书写实验报告。

二、实验内容

1、总体设计

(1)系统设计

本系统采用三层架构设计,它的工作原理如下图所示。

三层架构模型

采用三层构架以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层(2)系统流程

前台系统流程图

后台系统流程图

(3)数据库设计

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

数据库需求分析

针对一般在线书店的需求,得出如下需求信息。

1.用户分为未注册用户和已注册用户。

2.订单分为单张详细订单和总订单。

3.一个用户可以购买多本图书。

4.一个用户对应一张订单。

5.一个列表对应多张订单。

针对本系统功能分析,总结出如下的需求信息。

1.用户,包括数据项:用户ID、用户名、密码。

2.图书,包括数据项:图书编号、图书名、价格、图书介绍。

3.订单列表,包括数据项:订单编号、图书编号、购书数量。

4.订单,包括数据项:订单编号、用户编号、下单时间。

实体关系E-R图

商品实体E-R图

用户实体E-R图

订单实体E-R图

2、详细设计

系统概述

前台主要功能介绍:

①搜索商品:用户不用登录可以输入商品的名称来查看需要查询的商品,而且可以查看商品的详细信息,如生产厂商、剩余数量、介绍等。

②分类查询:用户可以按分类来查看该分类的商品。

③用户注册:用户可以输入注册信息来注册,用户可以检查用户名是否存在,用户注册信息没有错误则可正确注册(不要使用中文名称来注册)。

④用户登录:用户输入登录名和密码进行登录,如果用户名和密码错误无法登录。

⑤更新信息:用户登录后可以查看个人信息并更新个人信息,还可以修改密码。

⑥购物车:用户登录后就可以购物,可以把商品添加到购物车,或者把商品从购物车删除,如果商品数量为0则无法添加到购物车。

⑦提交订单:用户把商品添加到购物车后即可提交订单,订单提交后用户可

以进行付款(本系统为用户模拟了一个账户,用于用户购物,用户账户余额不足则无法付款)。

⑧查看订单:用户可以查看自己的订单。

后台主要功能介绍:

①商品种类管理:管理登录后台后可以对商品种类进行添加、删除。添加时如果商品种类已经存在会提示添加错误。

②商品管理:管理员对商品进行添加、删除操作,如果商品已经存在,添加时会提示商品已经存在。

③订单管理:管理员可以查询订单,查看所有订单信息。

④用户管理:管理员可以查询用户,管理用户信息。

⑤系统管理:管理员可以修改登录密码,安全退出。

功能展示及说明

客户界面设计与实现

1).界面头和界面尾设计

他们的效果如下图:

主界面显示效果

2).用户登录模块的设计

为了检验用户是否合法,所以需要输入用户名和密码来验证用户的合法性,用户登录模块刚好完成这样的一个功能。该模块需要用到LoginAction.java这个servlet。需要设计一个表单让用户输入信息。效果图如下:

用户登录界面

要实现登陆功能,首先要连接数据库,把数据库中的用户信息与表单中获取的信进行验证,数据库连接的代码如下:

package er;

import java.util.List;

import java.util.Map;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import erStatus;

import com.albert.bs.model.Cart;

import com.albert.bs.model.Course;

import com.albert.bs.model.Product;

import com.albert.bs.model.SessionContainer;

import er;

import com.albert.bs.service.CourseService;

import com.albert.bs.service.ProductService;

import erService;

import erAction;

import com.albert.bs.util.MD5Util;

import com.opensymphony.xwork2.ActionContext;

public class LoginAction extends UserAction {

private static final long serialVersionUID = -4357525212351724516L; private String username;

private String password;

private String validcode;

private String rememberPsw;

private UserService userService;

private ProductService productService;

private CourseService courseService;

@SuppressWarnings("unchecked")

public String execute() throws Exception {

Map session = ActionContext.getContext().getSession();

SessionContainer container = (SessionContainer)

相关文档
最新文档