关于全局异常:

在业务代码中专注处理业务,而不是返回各种CodeMsg(比如这里只需要知道登录时成功还是失败,其余情况直接抛出异常),可以直接抛出异常,添加一个全局异常类,根据CodeMsg来生成异常, 交由GlobalExceptionHandler全局异常处理器处理(在其中增加if条件分支即可)

springboot之全局异常拦截器

使用异常处理器之前,

我处理登陆的service方法代码是这样的:

 public CodeMsg login(LoginVal loginVal){
if(null==loginVal){
throw new GlobalException(CodeMsg.SERVER_ERROR);
}
String mobile=loginVal.getMobile();
String password=loginVal.getPassword();
MiaoshaUser user=miaoShaUserDao.getUserById(Long.parseLong(mobile));
if(null==user){
return CodeMsg.MSG_MOBILE_NOT_EXIST;
}
//
if(!user.getPassword().equals(MD5Util.formPassword2DbPass(password,user.getSalt())) ){
return CodeMsg.MSG_PASSWORD_ERROR;
} return CodeMsg.SUCCESS;
}

添加异常处理器之后:

service的处理login的业务代码是这样的:

//登录的记过只想知道是true还是false,其余均是抛出全局异常,交由异常处理器处理
public boolean login(LoginVal loginVal){ if(null==loginVal){
throw new GlobalException(CodeMsg.SERVER_ERROR);
}
String mobile=loginVal.getMobile();
String password=loginVal.getPassword();
MiaoshaUser user=miaoShaUserDao.getUserById(Long.parseLong(mobile));
if(null==user){
throw new GlobalException( CodeMsg.MSG_MOBILE_NOT_EXIST);
}
if(!user.getPassword().equals(MD5Util.formPassword2DbPass(password,user.getSalt())) ){
throw new GlobalException(CodeMsg.MSG_PASSWORD_ERROR);
}
return true;
}

关于部署:

教程是这样给的

1、确保正式服务器jdk1.8及数据库环境已经具备

2、配置系统环境变量JAVA_HOME指定jdk1.8路径,注意不要包含空格

3、执行bin/package.bat(.sh)进行打成war包文件,并将此war拷贝到服务器上

4、进行解压war包,配置yml相关参数,运行/WEB-INF/startup.bat(.sh)脚本

5、若需修改jvm参数,编辑startup.bat(.sh)修改JAVA_OPTS参数优化jvm环境

6、支持启动参数增加-Dspring.config.location=x:/app.yml加载指定配置文件

7、若需要配置环境,则指定-Dspring.profiles.active=dev,则加载application-dev.yml属性文件

实际情况是,打包使用外部tomcat部署会报错,这里依然是用SpringBoot内置容器部署

1、源码上传至服务器修改aplication.yml配置数据库和端口。

2、修改LuceneService.java的indexPath路径

3、为了保证任务持续运行,可以使用screen持续会话,

创建名为yuosc的会话:screen -S yuosc

查看所有会话:screen -ls

进入yuosc会话:screen -r yuosc

退出会话:Ctrl-a d

删除会话:screen -X -S [session # you want to kill] quit

4、先给bin/rum-tomcat.sh执行权限,然后后执行编译部署。

5、日志直接在控制台输出,需要打印文件可以修改日志级别。

6、这里给出一些打war包在外部tomcat部署 的方案:

SpringBoot项目部署到外部Tomcat中的方法

Spring-Boot项目部署到单独tomcat运行

基于jeesite的cms系统(七):GlobalException全局异常和部署的更多相关文章

  1. 基于jeesite的cms系统(一):开发环境搭建

    基于jeesite的cms系统系列,是对基于jeesite进行二次开发的博客模块开发过程的总结.涉及入门安装,二次开发,部署等 一.概况: JeeSite 是一个 Java 企业级快速开发平台,基于经 ...

  2. 基于jeesite的cms系统(三):使用RESTful API在前端渲染数据

    使用RESTful API可以更好的开发前后分离的应用,后面一节会介绍使用模版引擎Beetl开发后端渲染的应用. 一.配置Swagger(Api 接口文档) 1.使用系统自带 拷贝jeesite-mo ...

  3. 基于jeesite的cms系统(二):整体设计

    一.菜单设计 在系统管理-菜单管理中可以设置内容管理菜单(自动生成) 注意:归属模块应属于核心模块core.如果新加的的菜单设置为内容管理模块cms,系统下次重启时会重置本次设置,具体原因不详. 二. ...

  4. 基于jeesite的cms系统(六):Lucene全文搜索引擎

    1.lucene初始化 // @Value("${lucene.index.path}") private String indexPath = "/Users/vito ...

  5. 基于jeesite的cms系统(五):wangEditor富文本编辑器

    一.关于wangEditor: wangEditor —— 轻量级 web 富文本编辑器,配置方便,使用简单.支持 IE10+ 浏览器. 官网:www.wangEditor.com 文档:www.ka ...

  6. 基于jeesite的cms系统(四):使用Beetl模版引擎在后端渲染数据

    一.Beetl简介 1. 什么是Beetl Beetl目前版本是2.9.3,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验. ...

  7. 基于Java的开源CMS系统选择(转)

    CMS概述 对于网站CMS系统而言,基于PHP的是主流,如Drupal/Joomla在各个主流虚拟机提供商上都是标准配置,也被广泛使用. 但如果你拥有Java团队,或者项目目标是想建立一个企业网使用的 ...

  8. 一个基于NodeJS开发的APP管理CMS系统

    花了大概3周独立开发了一个基于NodeJS的CMS系统,用于公司APP的内容管理( **公司APP?广告放在最后 ^_^ ** ,管理员请理解~~~ )晚上看了部电影还不想睡,闲着也是闲着就作下小小总 ...

  9. 基于Java的开源CMS系统选择

    CMS概述 对于网站CMS系统而言,基于PHP的是主流,如Drupal/Joomla在各个主流虚拟机提供商上都是标准配置,也被广泛使用. 但如果你拥有Java团队,或者项目目标是想建立一个企业网使用的 ...

随机推荐

  1. saiku环境搭建

    说明:搭建saiku环境,BI展示工具. 环境说明: os:windows7 jdk:jdk1.6.0_43 tomcat:apache-tomcat-7.0.62 saiku:saiku-ui-2. ...

  2. 免费了 -- EXCEL插件 智表ZCELL 普及版V1.0 发布了!!!

    智表(zcell)是一款浏览器仿excel表格jquery插件.智表可以为你提供excel般的智能体验,支持双击编辑.设置公式.设置显示小数精度.下拉框.自定义单元格.复制粘贴.不连续选定.合并单元格 ...

  3. tensorflow 训练之tensorboard使用

    1.add saclar and histogram tf.summary.scalar('mean', mean) tf.summary.histogram('histogram', var) 2. ...

  4. centos7下给bond网卡配置bridge桥接

    这篇的主题可以用几个关键字组合:centos7+kvm + bond + bridge .brige主要用在KVM虚拟化环境下,而bond是进行物理层面的冗余.具体配置信息如下 物理网卡名称:enp0 ...

  5. 【原创】小说:我是一条DQL

    SQL执行流程图如下 本文改编自<高性能Mysql>,烟哥用小说的形式来讲这个内容. 序章 自我介绍 我是一条sql,就是一条长长的字符串,不要问我长什么样,因为我比较傲娇. 额~~不是我 ...

  6. eclipse中maven父子项目层级显示设置

    第一步:window-->show view --> project explorer 第二步:小三角---> projects presentation----->hiera ...

  7. Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

     今天安装完带图形界面的CentOS 7后,在Terminal中运行yum安装命令时报了以下错误: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  8. Redis快问快答

    本随笔的回答来自 http://www.runoob.com/redis/redis-tutorial.html 另一个不错的教程: https://www.yiibai.com/redis/redi ...

  9. Spring Mybatis多数据源配置范例

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  10. Python——代码汇总

    1.三级菜单 2.Windows启动服务 3.常用的Python实现 4.字典的基本操作