SSM框架特产销售网站设计与开发源码+论文第六稿+外文翻译+ppt+中期检查表+
优采云 发布时间: 2022-07-06 11:00SSM框架特产销售网站设计与开发源码+论文第六稿+外文翻译+ppt+中期检查表+
活动地址:毕业季·进击的技术er
博主介绍:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌项目名称
SSM框架特产销售网站设计与开发源码
视频效果
SSM框架特产销售网站设计与开发源码
系统说明
该系统主要由前台和后台两部分组成,后台是由系统管理员进行管理,主要工作是系统维护,管理员主要实现了统计分析、留言管理、系统管理、会员管理、资讯管理、类别管理、商品管理、库存管理、订单管理、售后管理等功能模块;前台是用户使用,主要功能包括注册登录、首页、商品分类、新闻资讯、关于我们、购物车、个人信息、订单管理、留言板、售后管理等。
编辑
环境需要
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. 运行项目,在浏览器中输入:8080/ 登录
运行截图
编辑
编辑
编辑
编辑
编辑
编辑
编辑
编辑
编辑
编辑
编辑
编辑
编辑
用户管理控制层:
package com.houserss.controller;<br /><br />import javax.servlet.http.HttpSession;<br /><br />import org.apache.commons.lang3.StringUtils;<br />import org.springframework.beans.factory.annotation.Autowired;<br />import org.springframework.stereotype.Controller;<br />import org.springframework.web.bind.annotation.RequestMapping;<br />import org.springframework.web.bind.annotation.RequestMethod;<br />import org.springframework.web.bind.annotation.RequestParam;<br />import org.springframework.web.bind.annotation.ResponseBody;<br /><br />import com.houserss.common.Const;<br />import com.houserss.common.Const.Role;<br />import com.houserss.common.ServerResponse;<br />import com.houserss.pojo.User;<br />import com.houserss.service.IUserService;<br />import com.houserss.service.impl.UserServiceImpl;<br />import com.houserss.util.MD5Util;<br />import com.houserss.util.TimeUtils;<br />import com.houserss.vo.DeleteHouseVo;<br />import com.houserss.vo.PageInfoVo;<br /><br />/**<br /> * Created by admin<br /> */<br />@Controller<br />@RequestMapping("/user/")<br />public class UserController {<br /> @Autowired<br /> private IUserService iUserService;<br /><br /> /**<br /> * 用户登录<br /> * @param username<br /> * @param password<br /> * @param session<br /> * @return<br /> */<br /> @RequestMapping(value = "login.do",method = RequestMethod.POST)<br /> @ResponseBody<br /> public ServerResponse login(User user,String uvcode, HttpSession session){<br /> String code = (String)session.getAttribute("validationCode");<br /> if(StringUtils.isNotBlank(code)) {<br /> if(!code.equalsIgnoreCase(uvcode)) {<br /> return ServerResponse.createByErrorMessage("验证码不正确");<br /> }<br /> }<br /> ServerResponse response = iUserService.login(user.getUsername(),user.getPassword());<br /> if(response.isSuccess()){<br /> session.setAttribute(Const.CURRENT_USER,response.getData());<br /> }<br /> return response;<br /> }<br /><br /> <br /> <br /> <br />}
管理员管理控制层:
package com.sxl.controller.admin;<br /><br />import java.util.List;<br />import java.util.Map;<br /><br />import javax.servlet.http.HttpServletRequest;<br /><br />import org.springframework.http.ResponseEntity;<br />import org.springframework.stereotype.Controller;<br />import org.springframework.ui.Model;<br />import org.springframework.web.bind.annotation.RequestMapping;<br /><br />import com.sxl.controller.MyController;<br /><br />@Controller("adminController")<br />@RequestMapping(value = "/admin")<br />public class AdminController extends MyController {<br /> <br /><br /> @RequestMapping(value = "/index")<br /> public String frame(Model model, HttpServletRequest request)throws Exception {<br /> return "/admin/index";<br /> }<br /> <br /> @RequestMapping(value = "/main")<br /> public String main(Model model, HttpServletRequest request)throws Exception {<br /> return "/admin/main";<br /> }<br /> <br /> @RequestMapping(value = "/tj1")<br /> public String tj1(Model model, HttpServletRequest request)throws Exception {<br /> 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";<br /> List list = db.queryForList(sql);<br /> model.addAttribute("list", list);<br /> System.out.println(list);<br /> return "/admin/tj/tj1";<br /> }<br /> <br /> <br /> @RequestMapping(value = "/password")<br /> public String password(Model model, HttpServletRequest request)throws Exception {<br /> return "/admin/password";<br /> }<br /> <br /> <br /> @RequestMapping(value = "/changePassword")<br /> public ResponseEntity loginSave(Model model,HttpServletRequest request,String oldPassword,String newPassword) throws Exception {<br /> Map admin = getAdmin(request);<br /> if(oldPassword.equals(admin.get("password").toString())){<br /> String sql="update t_admin set password=? where id=?";<br /> db.update(sql, new Object[]{newPassword,admin.get("id")});<br /> return renderData(true,"1",null);<br /> }else{<br /> return renderData(false,"1",null);<br /> }<br /> }<br />}
修改密码业务逻辑:
package com.sxl.controller.admin;<br /><br />import java.util.Map;<br /><br />import javax.servlet.http.HttpServletRequest;<br /><br />import org.springframework.http.ResponseEntity;<br />import org.springframework.stereotype.Controller;<br />import org.springframework.ui.Model;<br />import org.springframework.web.bind.annotation.RequestMapping;<br /><br />import com.sxl.controller.MyController;<br /><br />@Controller("userController")<br />@RequestMapping(value = "/user")<br />public class UserController extends MyController {<br /> <br /><br /> @RequestMapping(value = "/index")<br /> public String frame(Model model, HttpServletRequest request)throws Exception {<br /> return "/user/index";<br /> }<br /> <br /> @RequestMapping(value = "/main")<br /> public String main(Model model, HttpServletRequest request)throws Exception {<br /> return "/user/main";<br /> }<br /> <br /> <br /> @RequestMapping(value = "/password")<br /> public String password(Model model, HttpServletRequest request)throws Exception {<br /> return "/user/password";<br /> }<br /> <br /> <br /> @RequestMapping(value = "/changePassword")<br /> public ResponseEntity loginSave(Model model,HttpServletRequest request,String oldPassword,String newPassword) throws Exception {<br /> Map user = getUser(request);<br /> if(oldPassword.equals(user.get("password").toString())){<br /> String sql="update t_user set password=? where id=?";<br /> db.update(sql, new Object[]{newPassword,user.get("id")});<br /> return renderData(true,"1",null);<br /> }else{<br /> return renderData(false,"1",null);<br /> }<br /> }<br /> @RequestMapping(value = "/mine")<br /> public String mine(Model model, HttpServletRequest request)throws Exception {<br />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";<br /> }<br /> <br /> <br /><br /> @RequestMapping(value = "/mineSave")<br /> public ResponseEntity mineSave(Model model,HttpServletRequest request,Long id<br /> ,String username,String password,String name,String gh,String mobile) throws Exception{<br /> int result = 0;<br /> String sql="update t_user set name=?,gh=?,mobile=? where id=?";<br /> result = db.update(sql, new Object[]{name,gh,mobile,id});<br /> if(result==1){<br /> return renderData(true,"操作成功",null);<br /> }else{<br /> return renderData(false,"操作失败",null);<br /> }<br /> }<br /> }
通用管理模块:
package com.sxl.controller;<br /><br /><br />import java.nio.charset.Charset;<br />import java.util.Locale;<br />import java.util.ResourceBundle;<br /><br />import javax.servlet.http.HttpServletRequest;<br /><br />import org.apache.commons.lang.StringUtils;<br />import org.springframework.beans.factory.annotation.Autowired;<br />import org.springframework.http.HttpHeaders;<br />import org.springframework.http.HttpStatus;<br />import org.springframework.http.MediaType;<br />import org.springframework.http.ResponseEntity;<br /><br />import com.sxl.util.JacksonJsonUtil;<br />import com.sxl.util.StringUtil;<br />import com.sxl.util.SystemProperties;<br /><br /><br />public class BaseController {<br /> public static final Long EXPIRES_IN = 1000 * 3600 * 24 * 1L;// 1天<br /><br /> @Autowired<br /> private SystemProperties systemProperties;<br /><br /> /**<br /> * 获得配置文件内容<br /> */<br /> public String getConfig(String key) {<br /> return systemProperties.getProperties(key);<br /> }<br /><br /> /**<br /> * 返回服务器地址 like http://192.168.1.1:8441/UUBean/<br /> */<br /> public String getHostUrl(HttpServletRequest request) {<br /> String hostName = request.getServerName();<br /> Integer hostPort = request.getServerPort();<br /> String path = request.getContextPath();<br /><br /> if (hostPort == 80) {<br /> return "http://" + hostName + path + "/";<br /> } else {<br /> return "http://" + hostName + ":" + hostPort + path + "/";<br /> }<br /> }<br /><br /> /***<br /> * 获取当前的website路径 String<br /> */<br /> public static String getWebSite(HttpServletRequest request) {<br /> String returnUrl = request.getScheme() + "://"<br /> + request.getServerName();<br /><br /> if (request.getServerPort() != 80) {<br /> returnUrl += ":" + request.getServerPort();<br /> }<br /><br /> returnUrl += request.getContextPath();<br /><br /> return returnUrl;<br /> }<br /><br /><br /><br /> /**<br /> * 初始化HTTP头.<br /> * <br /> * @return HttpHeaders<br /> */<br /> public HttpHeaders initHttpHeaders() {<br /> HttpHeaders headers = new HttpHeaders();<br /> MediaType mediaType = new MediaType("text", "html",<br /> Charset.forName("utf-8"));<br /> headers.setContentType(mediaType);<br /> return headers;<br /> }<br /><br /> /**<br /> * 返回 信息数据<br /> * <br /> * @param status<br /> * @param msg<br /> * @return<br /> */<br /> public ResponseEntity renderMsg(Boolean status, String msg) {<br /> if (StringUtils.isEmpty(msg)) {<br /> msg = "";<br /> }<br /> String str = "{\"status\":\"" + status + "\",\"msg\":\"" + msg + "\"}";<br /> ResponseEntity responseEntity = new ResponseEntity(str,<br /> initHttpHeaders(), HttpStatus.OK);<br /> return responseEntity;<br /> }<br /><br /> /**<br /> * 返回obj数据<br /> * <br /> * @param status<br /> * @param msg<br /> * @param obj<br /> * @return<br /> */<br /> public ResponseEntity renderData(Boolean status, String msg,<br /> Object obj) {<br /> if (StringUtils.isEmpty(msg)) {<br /> msg = "";<br /> }<br /> StringBuffer sb = new StringBuffer();<br /> sb.append("{");<br /> sb.append("\"status\":\"" + status + "\",\"msg\":\"" + msg + "\",");<br /> sb.append("\"data\":" + JacksonJsonUtil.toJson(obj) + "");<br /> sb.append("}");<br /><br /> ResponseEntity responseEntity = new ResponseEntity(<br /> sb.toString(), initHttpHeaders(), HttpStatus.OK);<br /> return responseEntity;<br /> }<br /><br /><br /> /***<br /> * 获取IP(如果是多级代理,则得到的是一串IP值)<br /> */<br /> public static String getIpAddr(HttpServletRequest request) {<br /> String ip = request.getHeader("x-forwarded-for");<br /> if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {<br /> ip = request.getHeader("Proxy-Client-IP");<br /> }<br /><br /> if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {<br /> ip = request.getHeader("WL-Proxy-Client-IP");<br /> }<br /><br /> if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {<br /> ip = request.getRemoteAddr();<br /> }<br /><br /> if (ip != null && ip.length() > 0) {<br /> String[] ips = ip.split(",");<br /> for (int i = 0; i < ips.length; i++) {<br /> if (!"unknown".equalsIgnoreCase(ips[i])) {<br /> ip = ips[i];<br /> break;<br /> }<br /> }<br /> }<br /><br /> return ip;<br /> }<br /><br /> /**<br /> * 国际化获得语言内容<br /> * <br /> * @param key<br /> * 语言key<br /> * @param args<br /> * @param argsSplit<br /> * @param defaultMessage<br /> * @param locale<br /> * @return<br /> */<br /> public static String getLanguage(String key, String args, String argsSplit,<br /> String defaultMessage, String locale) {<br /> String language = "zh";<br /> String contry = "cn";<br /> String returnValue = defaultMessage;<br /><br /> if (!StringUtil.isEmpty(locale)) {<br /> try {<br /> String[] localeArray = locale.split("_");<br /> language = localeArray[0];<br /> contry = localeArray[1];<br /> } catch (Exception e) {<br /> }<br /> }<br /><br /> try {<br /> ResourceBundle resource = ResourceBundle.getBundle("lang.resource",<br /> new Locale(language, contry));<br /> returnValue = resource.getString(key);<br /> if (!StringUtil.isEmpty(args)) {<br /> String[] argsArray = args.split(argsSplit);<br /> for (int i = 0; i < argsArray.length; i++) {<br /> returnValue = returnValue.replace("{" + i + "}",<br /> argsArray[i]);<br /> }<br /> }<br /> } catch (Exception e) {<br /> }<br /><br /> return returnValue;<br /> }<br />}
源码获取: