系统说明

3.1.1网站前台功能

1.首页:展示首页推荐,商品介绍提供菜单栏和导航栏,供用户选择。

2.用户的注册:普通用户通过注册可以登录本系统。

3.用户的登录:注册时输入的账户和密码进行登录,后台比对成功后进入首页。

4.用户的退出:对于已经登录的用户,退出系统。

5.首页商品展示:推荐热门商品和商品的基础信息。

6.分类页面商品展示:对商品类型进行分类展示,可能存在多级情况。

7.商品详情展示:选择感兴趣的商品,单机进入商品详情介绍。

8.购物车:针对喜欢的商品可以进行添加购物车,在购物车列表中可以看见加入进来的数据,并且可以下单。

9.订单:通过购物车列表中进行的下单,生产的订单数据。

10.留言评价分享:可以对商品和服务进行留言,对商品进行分享推荐。

3.1.2网站后台功能

1.管理员登录:管理者根据账户和密码进行登录。

2.商品一级、二级分类管理:对前台展示的商品分类级别经行维护和操作。

3.商品管理:全平台商品数据进行增删改查。

4.用户管理:全用户数据进行查看维护和操作。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.数据库:MySql 5.7版本;

6.是否Maven项目:否;

技术栈

1. 后端:Spring SpringMVC Mybatis

2. 前端:JSP CSS JavaScript jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中springmvc-servlet.xml配置文件中的数据库配置改为自己的配置;

4. 运行项目,在浏览器中输入http://localhost:8080/ 登录

用户管理控制层:

package com.houserss.controller;

import javax.servlet.http.HttpSession;

import org.apache.commons.lang3.StringUtils;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;

import com.houserss.common.Const;

import com.houserss.common.Const.Role;

import com.houserss.common.ServerResponse;

import com.houserss.pojo.User;

import com.houserss.service.IUserService;

import com.houserss.service.impl.UserServiceImpl;

import com.houserss.util.MD5Util;

import com.houserss.util.TimeUtils;

import com.houserss.vo.DeleteHouseVo;

import com.houserss.vo.PageInfoVo;

/**

* Created by admin

*/

@Controller

@RequestMapping(“/user/”)

public class UserController {

@Autowired

private IUserService iUserService;

/**

* 用户登录

* @param username

* @param password

* @param session

* @return

*/

@RequestMapping(value = “login.do”,method = RequestMethod.POST)

@ResponseBody

public ServerResponse login(User user,String uvcode, HttpSession session){

String code = (String)session.getAttribute(“validationCode”);

if(StringUtils.isNotBlank(code)) {

if(!code.equalsIgnoreCase(uvcode)) {

return ServerResponse.createByErrorMessage(“验证码不正确”);

}

}

ServerResponse response = iUserService.login(user.getUsername(),user.getPassword());

if(response.isSuccess()){

session.setAttribute(Const.CURRENT_USER,response.getData());

}

return response;

}

}

管理员管理控制层:

package com.sxl.controller.admin;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.http.ResponseEntity;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import com.sxl.controller.MyController;

@Controller(“adminController”)

@RequestMapping(value = “/admin”)

public class AdminController extends MyController {

@RequestMapping(value = “/index”)

public String frame(Model model, HttpServletRequest request)throws Exception {

return “/admin/index”;

}

@RequestMapping(value = “/main”)

public String main(Model model, HttpServletRequest request)throws Exception {

return “/admin/main”;

}

@RequestMapping(value = “/tj1”)

public String tj1(Model model, HttpServletRequest request)throws Exception {

String sql=”select DATE_FORMAT(insertDate,%Y-%m-%d) dates,sum(allPrice) price from t_order order by DATE_FORMAT(insertDate,%Y-%m-%d) desc”;

List list = db.queryForList(sql);

model.addAttribute(“list”, list);

System.out.println(list);

return “/admin/tj/tj1”;

}

@RequestMapping(value = “/password”)

public String password(Model model, HttpServletRequest request)throws Exception {

return “/admin/password”;

}

@RequestMapping(value = “/changePassword”)

public ResponseEntity loginSave(Model model,HttpServletRequest request,String oldPassword,String newPassword) throws Exception {

Map admin = getAdmin(request);

if(oldPassword.equals(admin.get(“password”).toString())){

String sql=”update t_admin set password=? where id=?”;

db.update(sql, new Object[]{newPassword,admin.get(“id”)});

return renderData(true,”1″,null);

}else{

return renderData(false,”1″,null);

}

}

}

修改密码业务逻辑:

package com.sxl.controller.admin;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.http.ResponseEntity;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import com.sxl.controller.MyController;

@Controller(“userController”)

@RequestMapping(value = “/user”)

public class UserController extends MyController {

@RequestMapping(value = “/index”)

public String frame(Model model, HttpServletRequest request)throws Exception {

return “/user/index”;

}

@RequestMapping(value = “/main”)

public String main(Model model, HttpServletRequest request)throws Exception {

return “/user/main”;

}

@RequestMapping(value = “/password”)

public String password(Model model, HttpServletRequest request)throws Exception {

return “/user/password”;

}

@RequestMapping(value = “/changePassword”)

public ResponseEntity loginSave(Model model,HttpServletRequest request,String oldPassword,String newPassword) throws Exception {

Map user = getUser(request);

if(oldPassword.equals(user.get(“password”).toString())){

String sql=”update t_user set password=? where id=?”;

db.update(sql, new Object[]{newPassword,user.get(“id”)});

return renderData(true,”1″,null);

}else{

return renderData(false,”1″,null);

}

}

@RequestMapping(value = “/mine”)

public String mine(Model model, HttpServletRequest request)throws Exception {

Map user =getUser(request);Map map = db.queryForMap(“select * from t_user where id=?”,new Object[]{user.get(“id”)});model.addAttribute(“map”, map); return “/user/mine”;

}

@RequestMapping(value = “/mineSave”)

public ResponseEntity mineSave(Model model,HttpServletRequest request,Long id

,String username,String password,String name,String gh,String mobile) throws Exception{

int result = 0;

String sql=”update t_user set name=?,gh=?,mobile=? where id=?”;

result = db.update(sql, new Object[]{name,gh,mobile,id});

if(result==1){

return renderData(true,”操作成功”,null);

}else{

return renderData(false,”操作失败”,null);

}

}

}

通用管理模块:

package com.sxl.controller;

import java.nio.charset.Charset;

import java.util.Locale;

import java.util.ResourceBundle;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.http.HttpHeaders;

import org.springframework.http.HttpStatus;

import org.springframework.http.MediaType;

import org.springframework.http.ResponseEntity;

import com.sxl.util.JacksonJsonUtil;

import com.sxl.util.StringUtil;

import com.sxl.util.SystemProperties;

public class BaseController {

public static final Long EXPIRES_IN = 1000 * 3600 * 24 * 1L;// 1天

@Autowired

private SystemProperties systemProperties;

/**

* 获得配置文件内容

*/

public String getConfig(String key) {

return systemProperties.getProperties(key);

}

/**

* 返回服务器地址 like http://192.168.1.1:8441/UUBean/

*/

public String getHostUrl(HttpServletRequest request) {

String hostName = request.getServerName();

Integer hostPort = request.getServerPort();

String path = request.getContextPath();

if (hostPort == 80) {

return “http://” hostName path “/”;

} else {

return “http://” hostName “:” hostPort path “/”;

}

}

/***

* 获取当前的website路径 String

*/

public static String getWebSite(HttpServletRequest request) {

String returnUrl = request.getScheme() “://”

request.getServerName();

if (request.getServerPort() != 80) {

returnUrl = “:” request.getServerPort();

}

returnUrl = request.getContextPath();

return returnUrl;

}

/**

* 初始化HTTP头.

* @return HttpHeaders

*/

public HttpHeaders initHttpHeaders() {

HttpHeaders headers = new HttpHeaders();

MediaType mediaType = new MediaType(“text”, “html”,

Charset.forName(“utf-8”));

headers.setContentType(mediaType);

return headers;

}

/**

* 返回 信息数据

* @param status

* @param msg

* @return

*/

public ResponseEntity renderMsg(Boolean status, String msg) {

if (StringUtils.isEmpty(msg)) {

msg = “”;

}

String str = “{\”status\”:\”” status “\”,\”msg\”:\”” msg “\”}”;

ResponseEntity responseEntity = new ResponseEntity(str,

initHttpHeaders(), HttpStatus.OK);

return responseEntity;

}

/**

* 返回obj数据

* @param status

* @param msg

* @param obj

* @return

*/

public ResponseEntity renderData(Boolean status, String msg,

Object obj) {

if (StringUtils.isEmpty(msg)) {

msg = “”;

}

StringBuffer sb = new StringBuffer();

sb.append(“{“);

sb.append(“\”status\”:\”” status “\”,\”msg\”:\”” msg “\”,”);

sb.append(“\”data\”:” JacksonJsonUtil.toJson(obj) “”);

sb.append(“}”);

ResponseEntity responseEntity = new ResponseEntity(

sb.toString(), initHttpHeaders(), HttpStatus.OK);

return responseEntity;

}

/***

* 获取IP(如果是多级代理,则得到的是一串IP值)

*/

public static String getIpAddr(HttpServletRequest request) {

String ip = request.getHeader(“x-forwarded-for”);

if (ip == null || ip.length() == 0 || “unknown”.equalsIgnoreCase(ip)) {

ip = request.getHeader(“Proxy-Client-IP”);

}

if (ip == null || ip.length() == 0 || “unknown”.equalsIgnoreCase(ip)) {

ip = request.getHeader(“WL-Proxy-Client-IP”);

}

if (ip == null || ip.length() == 0 || “unknown”.equalsIgnoreCase(ip)) {

ip = request.getRemoteAddr();

}

if (ip != null

1.本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!