1. 程式人生 > >一款基於SSM框架技術的全棧Java web項目(已部署可直接體驗)

一款基於SSM框架技術的全棧Java web項目(已部署可直接體驗)

遇到 htm upload myba .get 用戶註冊 核心 erp equals

概述

此項目基於SSM框架技術的Java Web項目,是全棧項目,涉及前端、後端、插件、上線部署等各個板塊,項目所有的代碼都是自己編碼所得,每一步、部分都有清晰的註釋,完全不用擔心代碼混亂,可以輕松、簡單、放心全面學習(也不需要版本控制配置)。下載後遇到任何問題,我將全力進行解答。 此項目:快編(kuaib)是一款方便快速全能的編輯系統,竭盡全力地將編寫、查找、比對、修改、文件下載、上傳、查重等所有功能整合於單個頁面操作綜合操作系統。--另外,此項目已部署:http://yws233.cn:8080/kuaib/,可直接訪問體驗--。

詳細

代碼下載:http://www.demodashi.com/demo/12947.html

註:由於項目直接下載後,只要符合部署環境,保證可運行,並且已經上線部署運行測試(無需maven等版本控制)。此外,由於項目代碼數量巨大,此處已對文件結構及詳細進行說明,故只貼登錄控制層(LoginController)為例。下載後有任何問題均可與我聯系(郵箱:[email protected]),或者直接點擊http://yws233.cn:8080/kuaib/(項目部署網址進行體驗)查看系統功能詳細說明。

此外,由於該項目耗費作者半年左右時間、心血,是純粹的原創,版權完全歸作者所有,僅供個人學習交流使用,如要用於其他商業、分享、建議等行為,請務必與作者聯系。

一、代碼實現過程

1.項目技術說明

前端:HTML5 + CSS3 + JS + jQuery + ajax + fastjson + xhEditer + pdf.js

後端:SpringMVC + Spring + Mybatis + POIXMLDocument + SimHash

數據庫:MySQL + Redis(緩存後期)

服務器:Tomcat9.02 + aliyun + jdk1.8

文件處理:POI + PDFBOX + JDOM + itextpdf

開發環境:ubuntu16.04 + IDEA17.2

2.配置文件部分

  1. MySQL數據庫配置 -----> database.properties

  2. LOG4J配置文件-----------> log4j.properties

  3. Mybatis----------------------> mybatis-config.xml

  4. SpringMVC配置文件-----> springmvc-servlet.xml

  5. Spring配置文件------------> applicationContext-mybatis.xml

技術分享圖片

3.核心控制層

BaseController(基礎過濾層)

LoginController(登錄控制層)

UserController(主頁控制層)

下貼登錄層代碼為例:

/*
*  登錄控制層
* */
package cn.kuaib.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.mysql.jdbc.StringUtils;
import org.apache.log4j.Logger;
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 cn.kuaib.pojo.User;
import cn.kuaib.service.UserService;
import cn.kuaib.tools.Constants;
import org.springframework.web.bind.annotation.ResponseBody;
import java.text.SimpleDateFormat;
import java.util.Date;
@Controller
public class LoginController {
private Logger logger = Logger.getLogger(LoginController.class);
@Resource
private UserService userService;
@RequestMapping(value="/login.html")
public String login(){
logger.debug("LoginController welcome Kuaib==================");
// 隨機顯示登錄頁文字
return "login";
}
@RequestMapping(value="/dologin.html",method=RequestMethod.POST)
public String doLogin(@RequestParam String userCode,@RequestParam String userPassword,HttpServletRequest request,HttpSession session) throws Exception{
logger.debug("doLogin====================================");
        //調用service方法,進行用戶匹配
User user = userService.login(userCode,userPassword);
String loginPic = request.getParameter("picconfirm"); //獲取驗證值
Boolean confirm = loginPic.equals("驗證成功!");
logger.info("######piccccccccccccccccccc:" + loginPic);
logger.info("######piccccccccccccccccccc:" + confirm);
if (null != user){
            if(user.getUserCode() != "" && user.getUserCode() != null
&& user.getUserPassword() != null && user.getUserPassword() != ""
                    && loginPic.equals("驗證成功!")){//登錄成功
                //放入session
                session.setAttribute(Constants.USER_SESSION, user);
                //放入密碼,文件上傳使用
                session.setAttribute(Constants.USER_PASS,user);
                return "redirect:/sys/main.html"; //進入攔截器進行驗證
            }
}else{
//頁面跳轉(login.jsp)帶出提示信息--轉發
request.setAttribute("error", "*用戶名或密碼不正確");
return "login";
}
return "login";
}
/*
    * 用戶註冊
    * */
@RequestMapping(value = "adduser.html", method = RequestMethod.POST)
public String addUser(User user, HttpSession session){
try {
if (userService.addReg(user) == true){
                session.setAttribute("regtrue", "註冊成功!"); //放置註冊成功提示
return "redirect:/login.html";
}
} catch (Exception e) {
e.printStackTrace();
}
return "register";
}
/*
* 異步判斷註冊用戶是否重名
* */
@RequestMapping(value = "/userCodeExist.html")
@ResponseBody //異步處理結果直接寫入HTTP ResponseBody中
public Object userCodeIsExist(@RequestParam String userCode){
    logger.info("///////////*****************////////////進入異步判斷");
/*HashMap<String, String> resultMap = new HashMap<String, String>();*/
String cjson = null;
        logger.debug("userCodeIsExit userCode===================== "+userCode);
if (StringUtils.isNullOrEmpty(userCode)){
/*resultMap.put("userCode", "exist");*/ //如果用戶已經存在
logger.info("//////************************進入null:");
            return "nullcode";
}else {
try {
User user = userService.registerUser(userCode);
if (null != user){
    cjson = "exist"; //用戶不為空則已存在
                }else {
    // 註冊用戶長度不能長於10
                    int len = userCode.length();
                    if (len >= 10){
                        cjson = "toolen"; //用戶輸入的長度超過10則提示
                    }else {
                        cjson = "noexist"; //用戶為空,則可以註冊
                    }
                }
} catch (Exception e) {
e.printStackTrace();
}
}
/*logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>" + JSONArray.toJSONString(resultMap));
return JSONArray.toJSONString(resultMap);*/
logger.info("//////************************cjson:" + cjson);
return cjson;
}
/*
* 異步判斷用戶郵箱是否存在
* */
@RequestMapping(value = "/userpwdexist.html")
    @ResponseBody
    public String userPasswordExist(@RequestParam String email){
    logger.info("進入郵箱異步判斷>>>>>>>>>>>>>>>>>>>>>>>>>>>");
    String ejson = null;
        if (StringUtils.isNullOrEmpty(email)){
            return "nullpwd";
        }else {
            User user = userService.backPassword(email);
            if (null != user){
                ejson = "existpwd";
            }else {
                ejson = "noexistpwd";
            }
        }
        logger.info("//////************************cjson:" + ejson);
        return ejson;
    }
/*
*  跳轉至找回密碼頁面
* */
@RequestMapping(value = "back.html")
    public String back(){
    return "forget";
    }
/*
* 找回密碼
* */
@RequestMapping(value = "backpassword.html",method = RequestMethod.POST)
public String backPass(@RequestParam String email, HttpSession session){
    User user = userService.backPassword(email);
    if (user != null){
        session.setAttribute(Constants.PASSWORD,user.getUserPassword());
        return "backpwd";
        }
        session.setAttribute(Constants.SYS_MESSAGE,"*您的郵箱不存在,請先註冊");
return "forget";
}
/*
* 跳轉到登錄頁面
* */
@RequestMapping(value = "backlogin.html")
public String backLogin(){
return "login";
}
@RequestMapping(value = "register.html")
    public String skipRegister(){
    return "register";
    }
@RequestMapping(value="/sys/main.html")
public String main(HttpSession session){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//設置日期格式
session.setAttribute(Constants.DATA_NOW,df.format(new Date()));
    return "main";
}
}

技術分享圖片

Dao層,Service層等

技術分享圖片

4.前端部分

其中pdf和xhEditer為插件,可在官網了解。

技術分享圖片

jsp及lib包

技術分享圖片

二、代碼實現過程

1.整體項目下載後,解壓後導入IDEA:

技術分享圖片

2.數據庫及SSM配置文件(修改你自己的用戶名密碼)

技術分享圖片

3.核心控制層

技術分享圖片

4.前端web層

技術分享圖片

三、演示效果

1.登錄頁

技術分享圖片

2.主頁(各區域文件上傳顯示圖)

技術分享圖片

3.交換系統

技術分享圖片

4.註冊頁

技術分享圖片

5.密碼找回

技術分享圖片

代碼下載:http://www.demodashi.com/demo/12947.html

註:本文著作權歸作者,由demo大師發表,拒絕轉載,轉載需要作者授權

一款基於SSM框架技術的全棧Java web項目(已部署可直接體驗)