基于jeesite的cms系统(七):GlobalException全局异常和部署
关于全局异常:
在业务代码中专注处理业务,而不是返回各种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全局异常和部署的更多相关文章
- 基于jeesite的cms系统(一):开发环境搭建
基于jeesite的cms系统系列,是对基于jeesite进行二次开发的博客模块开发过程的总结.涉及入门安装,二次开发,部署等 一.概况: JeeSite 是一个 Java 企业级快速开发平台,基于经 ...
- 基于jeesite的cms系统(三):使用RESTful API在前端渲染数据
使用RESTful API可以更好的开发前后分离的应用,后面一节会介绍使用模版引擎Beetl开发后端渲染的应用. 一.配置Swagger(Api 接口文档) 1.使用系统自带 拷贝jeesite-mo ...
- 基于jeesite的cms系统(二):整体设计
一.菜单设计 在系统管理-菜单管理中可以设置内容管理菜单(自动生成) 注意:归属模块应属于核心模块core.如果新加的的菜单设置为内容管理模块cms,系统下次重启时会重置本次设置,具体原因不详. 二. ...
- 基于jeesite的cms系统(六):Lucene全文搜索引擎
1.lucene初始化 // @Value("${lucene.index.path}") private String indexPath = "/Users/vito ...
- 基于jeesite的cms系统(五):wangEditor富文本编辑器
一.关于wangEditor: wangEditor —— 轻量级 web 富文本编辑器,配置方便,使用简单.支持 IE10+ 浏览器. 官网:www.wangEditor.com 文档:www.ka ...
- 基于jeesite的cms系统(四):使用Beetl模版引擎在后端渲染数据
一.Beetl简介 1. 什么是Beetl Beetl目前版本是2.9.3,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验. ...
- 基于Java的开源CMS系统选择(转)
CMS概述 对于网站CMS系统而言,基于PHP的是主流,如Drupal/Joomla在各个主流虚拟机提供商上都是标准配置,也被广泛使用. 但如果你拥有Java团队,或者项目目标是想建立一个企业网使用的 ...
- 一个基于NodeJS开发的APP管理CMS系统
花了大概3周独立开发了一个基于NodeJS的CMS系统,用于公司APP的内容管理( **公司APP?广告放在最后 ^_^ ** ,管理员请理解~~~ )晚上看了部电影还不想睡,闲着也是闲着就作下小小总 ...
- 基于Java的开源CMS系统选择
CMS概述 对于网站CMS系统而言,基于PHP的是主流,如Drupal/Joomla在各个主流虚拟机提供商上都是标准配置,也被广泛使用. 但如果你拥有Java团队,或者项目目标是想建立一个企业网使用的 ...
随机推荐
- Oracle dblink的连接模式的关系测试总结
这篇主要介绍一下database link由于连接数据库的方式不同遇到的一些问题,我们知道连接ORACLE服务器的模式一般有两种方式:专用服务器连接(dedicated server)和共享服务器连接 ...
- 关于ORACLE数据库名以及数据实例名等几个重要概念
在Oracle中有关数据库和数据库实例的几个重要概念,有时候如果理解不是很深或者对其疏忽.混淆了,还真容易搞错或弄不清其概念,下面就数据库实例名.数据库名.数据库域名.数据库服务名.全局数据库名几个概 ...
- [20190423]那个更快的疑问3.txt
[20190423]那个更快的疑问3.txt --//前一阵子,做了11g在单表单条记录唯一索引扫描的测试,摘要如下:--//参考链接:http://blog.itpub.net/267265/vie ...
- C# Socket网络编程
晚上利用空闲时间,用Socket做了一些小功能. 功能如下: a.聊天 b.传文件 c.抖动好友 主界面: 服务器 客户端 操作步骤: 服务器(测试环境的IP地址为:192.168.92.111,视情 ...
- #032 有空就看PTA
我咋买书了? 上学期
- C语言中printf,scanf,puts,%%等输出格式
#include<stdio.h> int main(void){ int a; printf("请输入一个整数,程序求取他的最后一位数字:"); s ...
- zcu102 hdmi example(二)
1.概述 上篇说到,调用跑HDMI IP核自带的design example,跑出来的结果是显示屏显示彩条,并伴有嘀,嘀,嘀...的声音.因为在实际项目中,我们只需要图像,不需要声音的,所以我要把声音 ...
- codeforces#1154F. Shovels Shop (dp)
题目链接: http://codeforces.com/contest/1154/problem/F 题意: 有$n$个物品,$m$条优惠 每个优惠的格式是,买$x_i$个物品,最便宜的$y_i$个物 ...
- php将字符串转为二进制数据串
/** * 将字符串转换成二进制 * @param type $str * @return type */ function StrToBin($str){ //1.列出每个字符 $arr = pre ...
- WordPress博客搭建与问题总结
一.WordPress博客搭建 1.安装Apache web服务器 yum install -y httpd systemctl restart httpd systemctl enable ht ...