一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)

概述

此项目基于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大师发表,拒绝转载,转载需要作者授权

原文地址:https://www.cnblogs.com/demodashi/p/9452930.html

时间: 2024-12-14 19:32:57

一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)的相关文章

基于SSM框架之宜立方商城项目——项目开始准备一(项目需求分析与设计)

网站概要需求 工作内容: 依照我方(我方公司)所述,遵循阿里巴巴网站.京东网站B2C商城内容进行设计开发,以确保实现类似京东网站.淘宝网站购物商城功能为目的,且网站预留B2B接口.项目开发方需提供给我方(我方公司)单体测试.结合测试.综合测试.覆盖率测试报告书,供我方审核 开发环境  操作系统要求:保障用户可以在Linux.Unix.WindowsNT.Windows2000.WindowsXP.Win7.Vista.DOS等操作系统中畅通访问我方(我方公司)主页且无任何技术问题出现.  数据库

基于ssm框架开发的零食商城源码

很多朋友说要分享一些基于ssm框架开发的项目,在休闲时间搭建和撸一个以ssm框架开发的零食商城源码,详情如下,希望大家能够见解和学习. 首先ssm定义是框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),在开发上前后分离,耦合度小,且开发方便快速,效率较高.大家可以把我分享的项目下载下来二次学习或者开发,同时也可用于毕设. 系统分为前后太两大部分,包含管理员.普通用户权限,具有一系列的包含权限,用户信息,商品信息,订单信息,个人中新,购物车下

基于ssm框架的论坛系统

                                                             基于ssm框架的论坛系统 1.介绍 本论坛系统基于spring,spring mvc,mybatis框架搭建,实现了论坛的基本功能,注册,登录,发帖,浏览等功能. 2.截图 3.源码 源码已上传至我的github,链接为 https://github.com/withstars/Genesis  ,如有需要请自行下载 原文地址:https://www.cnblogs.com/

一个基于SSM框架开发的高并发电商秒杀Web系统

0 前言 一个基于SSM框架的高并发秒杀系统采用IDEA+Maven+SSM+Mysql+Redis+Jetty.Bootstrap/Jquery开发. 通过这个小项目,理清了基于SSM框架开发Web应用的流程以及常见的避坑方法,并在最后简单采用了Redis缓存以及Mysql Procedure对项目进行了高并发优化. 接下来从DAO层.Service层.Web层开发以及高并发优化4个方面梳理整个项目开发过程. 源码地址https://github.com/Allegr0/seckill 项目准

Java基于ssm框架的restful应用开发

Java基于ssm框架的restful应用开发 好几年都没写过java的应用了,这里记录下使用java ssm框架.jwt如何进行rest应用开发,文中会涉及到全局异常拦截处理.jwt校验.token拦截器等内容. 1.jwt工具类 直接贴代码了,主要包括jwt的sign.verify.decode三个方法,具体实现如下: package com.isoft.util; import java.util.Date; import com.auth0.jwt.JWT; import com.aut

萌音影视:一款基于laravel框架的在线影视应用

简介 萌音影视是一款基于文雅的laravel框架和一点都不妹子的妹子UI的在线影视应用,特性是交关据库.无后台形式,仅除非一个配置文件(config/web.php),同时无海报,支持vip解析,官方源,速率快,多频道,多分类.同时行将新增独立的频道.首页电视台直播.多解析接口等功能,观望时不走伏笔VPS服务器流量,感触挺不错的,有兴趣的可以搭建个玩玩. 部署 Github地址:https://github.com/178146582/moeins 环境要求:Nginx/Apache.PHP 5

分享一款基于aui框架的图文发布界面

分享一款基于aui框架的图文发布界面,可以添加多张图可以删除,类似qq空间发布说说,没做服务器后端,只演示前端操作.需要用到UIMediaScanner模块 项目源码:<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,use

基于SSM的远程能力测评中心-java远程能力测评中心

基于SSM的远程能力测评中心-java远程能力测评中心选课系统试题管理系统考试系统测评系统 主要功能点:试卷管理,试题维护,角色用户管理,权限资源管理,资源管理,发布管理,资料认证,课程维护,学生选课,考试查询,阅卷,师资评价,成绩查询,发布考试,学生评价等.1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释.2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善开发环境:Eclipse ,MYSQL,JDK1.7,Tomcat 7涉及技术点:MVC模式.SpringMvc.Mybati

基于SSM的在线书城网上书店-java在线书城网上书店

基于SSM的在线书城网上书店-java在线书城网上书店 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释.2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善开发环境:Eclipse ,MYSQL,JDK1.7,Tomcat 7涉及技术点:MVC模式.SpringMvc.Mybatis.Spring.HTML.JavaScript.CSS.JQUERY.DWR.Ajax等系统采用Mybatis框架实现ORM对象关系映射,前台JSP实现,后台springMvc映射,使用Spring框架