前言
今天学长向大家分享一个 web项目:
基于java web的洋酒销售系统的设计与实现
一、项目设计
1. 模块设计
根据软件需求分析,将洋酒销售系统分为两大模块:前台销售模块和后台管理模块。
前台销售模块包括3部分:
(1)注册登录模块:用户在前台可以进行注册、登录;
(2)产品分类模块:用户可以选择产品分类,然后进行相应的产品选择。
(3)购物车模块。
后台管理模块,包括如下几个部分:
系统管理、
商品分类管理、
商品信息管理、
订单管理、
会员用户管理。
2. 实现效果
二、部分源码
部分代码示例:
Struts2核心实现:
Struts2主要用于控制整个系统进程。它由三部分组成,核心控制器FilterDispatcher,业务控制器和用户实现的业务逻辑组件。系统使用2.3.15.3版本的核心控制器,控制器作为在Web应用程序中运行的过滤器,负责拦截所有用户请求,当用户请求到达时,过滤器将过滤用户请求。如果用户在最后请求操作,则该请求将被转移到Struts 2框架。在Struts 2框架获得* .action请求后,它将决定在* .action请求的前一部分中调用哪个业务逻辑组件。例如,对于login.action请求,Struts 2调用名为login的操作来处理请求。
<!-- Struts2的核心过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
拦截器也用在Struts2系统中的重要组件函数,该组件函数提供了一个事件阻塞方法,所以可以拦截一些动作。 例如,对于所有后台操作的系统都有一个检查是否登录功能,如果没有登录来截取其操作。
public class PrivilegeInterceptor extends MethodFilterInterceptor{
@Override
protected String doIntercept(ActionInvocation actionInvocation) throws Exception {
// 获得Session中存的后台的用户:
AdminUser adminExistUser = (AdminUser) ServletActionContext
.getRequest().getSession().getAttribute("adminExistUser");
if(adminExistUser == null){
// 没有登录:
ActionSupport support = (ActionSupport) actionInvocation.getAction();
support.addActionError("您还没有登录!请先去登录!");
return support.LOGIN;
}else{
// 已经登录
return actionInvocation.invoke();
}
}
}