2024-01-28 分類: 網(wǎng)站建設(shè)
博主介紹:?在職Java研發(fā)工程師、專注于程序設(shè)計(jì)、源碼分享、技術(shù)交流、專注于Java技術(shù)領(lǐng)域和畢業(yè)設(shè)計(jì)?
項(xiàng)目名稱
SSM框架的洛陽市鮮花網(wǎng)站的設(shè)計(jì)和推廣系統(tǒng)+文檔
視頻效果
SSM框架的洛陽市鮮花網(wǎng)站的設(shè)計(jì)和推廣系統(tǒng)
系統(tǒng)說明
3.2.1 功能劃分網(wǎng)上鮮花銷售網(wǎng)站主要分為用戶前臺(tái)對(duì)鮮花進(jìn)行的一些操作和管理員的后臺(tái)管理信息兩部分。
1、前臺(tái)操作
前臺(tái)主要使用的是瀑布流的界面排版模式,主要是為了用戶能夠?yàn)g覽鮮花信息更加美觀便捷。
2、后臺(tái)管理
后臺(tái)布局為左邊菜單,右側(cè)展示菜單詳情,方便管理員進(jìn)行管理。
后臺(tái)主要分為:管理員進(jìn)行系統(tǒng)管理、注冊(cè)會(huì)員的信息的管理、鮮花銷售業(yè)務(wù)管理、以及綜合的統(tǒng)計(jì)分析等幾大功能。
3.2.2 功能描述1、首頁(主界面)
使用瀑布流的形式展示各種鮮花以及鮮花的分類信息、關(guān)于鮮花的新聞信息。
2、鮮花瀏覽
用戶可以在鮮花列表中點(diǎn)擊具體的鮮花對(duì)鮮花信息進(jìn)行瀏覽。
3、加入購物車
用戶登錄后可以對(duì)購物車信息進(jìn)行管理,并且可以將心儀的商品加入購物車當(dāng)中。
4、生成訂單
用戶將鮮花商品加入購物車后,跳轉(zhuǎn)到購物車頁面,點(diǎn)擊生成訂單即可。
5、修改個(gè)人信息
用戶登錄后可以查看并修改個(gè)人信息。
6、管理員分類管理
管理員可以對(duì)鮮花系統(tǒng)首頁的鮮花分類信息進(jìn)行增刪改查。
7、管理員鮮花管理
管理員可以對(duì)鮮花系統(tǒng)首頁的鮮花詳情進(jìn)行增刪改查。
8、管理員公告管理
管理員可以對(duì)鮮花系統(tǒng)首頁的關(guān)于鮮花的公告詳情進(jìn)行增刪改查。
9、管理員訂單管理
管理員可以對(duì)用戶的已經(jīng)提交的鮮花訂單進(jìn)行增刪改查。
10、管理員用戶管理
管理員可以對(duì)系統(tǒng)已經(jīng)注冊(cè)的用戶提交的個(gè)人信息進(jìn)行處理。
環(huán)境需要
1.運(yùn)行環(huán)境:最好是java jdk 1.8,我們?cè)谶@個(gè)平臺(tái)上運(yùn)行的。其他版本理論上也可以。2.IDE環(huán)境:IDEA,Eclipse,Myeclipse都可以。推薦IDEA;3.tomcat環(huán)境:Tomcat 7.x,8.x,9.x版本均可4.硬件環(huán)境:windows 7/8/10 1G內(nèi)存以上;或者 Mac OS;5.數(shù)據(jù)庫:MySql 5.7版本;6.是否Maven項(xiàng)目:否;
技術(shù)棧
使用說明
1. 使用Navicat或者其它工具,在mysql中創(chuàng)建對(duì)應(yīng)名稱的數(shù)據(jù)庫,并導(dǎo)入項(xiàng)目的sql文件;2. 使用IDEA/Eclipse/MyEclipse導(dǎo)入項(xiàng)目,Eclipse/MyEclipse導(dǎo)入時(shí),若為maven項(xiàng)目請(qǐng)選擇maven;若為maven項(xiàng)目,導(dǎo)入成功后請(qǐng)執(zhí)行maven clean;maven install命令,然后運(yùn)行;3. 將項(xiàng)目中springmvc-servlet.xml配置文件中的數(shù)據(jù)庫配置改為自己的配置;4. 運(yùn)行項(xiàng)目,在瀏覽器中輸入http://localhost:8080/ 登錄
運(yùn)行截圖
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
?編輯
用戶管理控制層:
package com.houserss.controller;importjavax.servlet.http.HttpSession;importorg.apache.commons.lang3.StringUtils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.ResponseBody;importcom.houserss.common.Const;importcom.houserss.common.Const.Role;importcom.houserss.common.ServerResponse;importcom.houserss.pojo.User;importcom.houserss.service.IUserService;importcom.houserss.service.impl.UserServiceImpl;importcom.houserss.util.MD5Util;importcom.houserss.util.TimeUtils;importcom.houserss.vo.DeleteHouseVo;importcom.houserss.vo.PageInfoVo;/** * Created by admin */@Controller@RequestMapping("/user/")publicclassUserController{ @AutowiredprivateIUserServiceiUserService;/** * 用戶登錄 * @param username * @param password * @param session * @return */@RequestMapping(value ="login.do",method =RequestMethod.POST) @ResponseBodypublicServerResponse<User> login(Useruser,Stringuvcode,HttpSessionsession){Stringcode = (String)session.getAttribute("validationCode");if(StringUtils.isNotBlank(code)) {if(!code.equalsIgnoreCase(uvcode)) {returnServerResponse.createByErrorMessage("驗(yàn)證碼不正確"); } }ServerResponse<User> response = iUserService.login(user.getUsername(),user.getPassword());if(response.isSuccess()){ session.setAttribute(Const.CURRENT_USER,response.getData()); }returnresponse; } }管理員管理控制層:
packagecom.sxl.controller.admin;importjava.util.List;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importorg.springframework.http.ResponseEntity;importorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframework.web.bind.annotation.RequestMapping;importcom.sxl.controller.MyController;@Controller("adminController")@RequestMapping(value ="/admin")publicclassAdminControllerextendsMyController{@RequestMapping(value ="/index")publicString frame(Model model, HttpServletRequest request)throws Exception {return"/admin/index"; }@RequestMapping(value ="/main")publicString main(Model model, HttpServletRequest request)throws Exception {return"/admin/main"; }@RequestMapping(value ="/tj1")publicString 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")publicString password(Model model, HttpServletRequest request)throws Exception {return"/admin/password"; }@RequestMapping(value ="/changePassword")publicResponseEntity 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")});returnrenderData(true,"1",null); }else{returnrenderData(false,"1",null); } } }修改密碼業(yè)務(wù)邏輯:
packagecom.sxl.controller.admin;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importorg.springframework.http.ResponseEntity;importorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframework.web.bind.annotation.RequestMapping;importcom.sxl.controller.MyController;@Controller("userController")@RequestMapping(value ="/user")publicclassUserControllerextendsMyController{@RequestMapping(value ="/index")publicString frame(Model model, HttpServletRequest request)throws Exception {return"/user/index"; }@RequestMapping(value ="/main")publicString main(Model model, HttpServletRequest request)throws Exception {return"/user/main"; }@RequestMapping(value ="/password")publicString password(Model model, HttpServletRequest request)throws Exception {return"/user/password"; }@RequestMapping(value ="/changePassword")publicResponseEntity 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")});returnrenderData(true,"1",null); }else{returnrenderData(false,"1",null); } }@RequestMapping(value ="/mine")publicString 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")publicResponseEntity mineSave(Model model,HttpServletRequest request,Longid ,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){returnrenderData(true,"操作成功",null); }else{returnrenderData(false,"操作失敗",null); } } }通用管理模塊:
package com.sxl.controller;importjava.nio.charset.Charset;importjava.util.Locale;importjava.util.ResourceBundle;importjavax.servlet.http.HttpServletRequest;importorg.apache.commons.lang.StringUtils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.http.HttpHeaders;importorg.springframework.http.HttpStatus;importorg.springframework.http.MediaType;importorg.springframework.http.ResponseEntity;importcom.sxl.util.JacksonJsonUtil;importcom.sxl.util.StringUtil;importcom.sxl.util.SystemProperties;publicclassBaseController {publicstaticfinal Long EXPIRES_IN =1000*3600*24*1L;// 1天@AutowiredprivateSystemProperties systemProperties;/** * 獲得配置文件內(nèi)容 */publicStringgetConfig(Stringkey) {returnsystemProperties.getProperties(key); }/** * 返回服務(wù)器地址 like http://192.168.1.1:8441/UUBean/ */publicStringgetHostUrl(HttpServletRequest request) {StringhostName = request.getServerName(); Integer hostPort = request.getServerPort();Stringpath = request.getContextPath();if(hostPort ==80) {return"http://"+ hostName + path +"/"; }else{return"http://"+ hostName +":"+ hostPort + path +"/"; } }/*** * 獲取當(dāng)前的website路徑 String */publicstaticStringgetWebSite(HttpServletRequest request) {StringreturnUrl = request.getScheme() +"://"+ request.getServerName();if(request.getServerPort() !=80) { returnUrl +=":"+ request.getServerPort(); } returnUrl += request.getContextPath();returnreturnUrl; }/** * 初始化HTTP頭. * * @return HttpHeaders */publicHttpHeaders initHttpHeaders() { HttpHeaders headers =newHttpHeaders(); MediaType mediaType =newMediaType("text","html", Charset.forName("utf-8")); headers.setContentType(mediaType);returnheaders; }/** * 返回 信息數(shù)據(jù) * * @param status * @param msg * @return */publicResponseEntity<String> renderMsg(Booleanstatus,Stringmsg) {if(StringUtils.isEmpty(msg)) { msg =""; }Stringstr ="{\"status\":\""+ status +"\",\"msg\":\""+ msg +"\"}"; ResponseEntity<String> responseEntity =newResponseEntity<String>(str, initHttpHeaders(), HttpStatus.OK);returnresponseEntity; }/** * 返回obj數(shù)據(jù) * * @param status * @param msg * @param obj * @return */publicResponseEntity<String> renderData(Booleanstatus,Stringmsg,Objectobj) {if(StringUtils.isEmpty(msg)) { msg =""; } StringBuffer sb =newStringBuffer(); sb.append("{"); sb.append("\"status\":\""+ status +"\",\"msg\":\""+ msg +"\","); sb.append("\"data\":"+ JacksonJsonUtil.toJson(obj) +""); sb.append("}"); ResponseEntity<String> responseEntity =newResponseEntity<String>( sb.toString(), initHttpHeaders(), HttpStatus.OK);returnresponseEntity; }/*** * 獲取IP(如果是多級(jí)代理,則得到的是一串IP值) */publicstaticStringgetIpAddr(HttpServletRequest request) {Stringip = 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&& ip.length() >0) {String[] ips = ip.split(",");for(int i =0; i < ips.length; i++) {if(!"unknown".equalsIgnoreCase(ips[i])) { ip = ips[i];break; } } }returnip; }/** * 國際化獲得語言內(nèi)容 * * @param key * 語言key * @param args * @param argsSplit * @param defaultMessage * @param locale * @return */publicstaticStringgetLanguage(Stringkey,Stringargs,StringargsSplit,StringdefaultMessage,Stringlocale) {Stringlanguage ="zh";Stringcontry ="cn";StringreturnValue = defaultMessage;if(!StringUtil.isEmpty(locale)) {try{String[] localeArray = locale.split("_"); language = localeArray[0]; contry = localeArray[1]; }catch(Exception e) { } }try{ ResourceBundle resource = ResourceBundle.getBundle("lang.resource",newLocale(language, contry)); returnValue = resource.getString(key);if(!StringUtil.isEmpty(args)) {String[] argsArray = args.split(argsSplit);for(int i =0; i < argsArray.length; i++) { returnValue = returnValue.replace("{"+ i +"}", argsArray[i]); } } }catch(Exception e) { }returnreturnValue; } }?
非常感謝您讀完創(chuàng)新互聯(lián)的這篇文章:"SSM框架的洛陽市鮮花網(wǎng)站的設(shè)計(jì)和推廣系統(tǒng) 文檔",僅為提供更多信息供用戶參考使用或?yàn)閷W(xué)習(xí)交流的方便。我們公司提供:網(wǎng)站建設(shè)、網(wǎng)站制作、官網(wǎng)建設(shè)、SEO優(yōu)化、小程序制作等服務(wù),歡迎聯(lián)系我們提供您的需求。
網(wǎng)頁標(biāo)題:SSM框架的洛陽市鮮花網(wǎng)站的設(shè)計(jì)和推廣系統(tǒng)文檔
網(wǎng)址分享:http://www.rwnh.cn/news29/315829.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、小程序開發(fā)、自適應(yīng)網(wǎng)站、網(wǎng)站導(dǎo)航、微信公眾號(hào)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容