MacOs安装Tomcat10 下载tomcat这里以版本10.0.22为例解压存至本地另存为apache-tomcat-10.0.22,放在你想存放的目录里面,我这里以目录为例子打开Terminal(终端),进入apache-tomcat所在目录给bin下的*.sh文件添加可执行权限进入bin目录启动服务浏览器输入即可查看效果接下来配置站点参考文件夹里面的配置文件里面的配置项即可原始文件原始Service自定义Service设置本地hosts在目录下创建目录,再增加文件文件内容如下命令行重启tomcat浏览
使用jenkins之一安装 本机环境:macOS11.6 + apache-tomcat-9.0.64 + jenkins2.346.1下载jenkins.war安装war切换到文件所在的目录虽然这种部署方式简单,还是建议使用Tomcat部署;控制台显示表示Jenkins已在运行中,浏览器输入即可浏览jenkins第一次启动成功后,会自动增加目录,默认路径为输入 管理员初始密码 继续建议新手选择,接着等待插件安装将放在你的tomcat相应的web目录,我这里以tomcat根目录下的目录为例修改tomcat的配置(根据你的实际目
一物一码追踪溯源系统介绍 平台采用“一物一码”的方式实现全流程、全品类、全用户群体、全应用场景对产品追踪溯源功能涵盖产品赋码:多样化赋码方式,满足不同产品包装需求,低成本解决赋码难题。万能溯源:对产品的生产、仓储、分销、物流运输、市场巡检及消费者等环节进行数据采集跟踪,实现产品生产环节、销售环节、流通环节、服务环节的全生命周期信息管理。防窜物流:产品流向查询、窜货信息收集、市场人员稽查等工作由线下转为线上,确保产品的流向与渠道的销售范围一致,大幅节约企业成本;通过采集扫码者数据,实现窜货预警功能,最大程度上防范窜货行为营销
React使用css module设置className多类名 import globals from '../../public/styles/globals.module.scss'单类名设置<div className={globals.channelLink}>联系我们</div>多类名设置方式1:<div className={[`${globals.link}`,`${globals.width20}`].join(' ')}>方式2:<div className={`${globals.link
Error: error: Expected ‘,‘, got ‘className‘ in nextjs Error: error: Expected ‘,’, got ‘className’ in nextjs原因:ReactJS doesn’t allow 2 parent elements, make sure to use a div as parent elementreturn ( <div> <Head> ... </Head> <form>
React中的有状态与无状态函数组件 无状态函数组件:使用方便,代码简短有状态函数组件:功能全面,有生命周期https://blog.csdn.net/qq_41579104/article/details/98654935有状态、生命周期或有初始数据的函数组件React中的有状态与无状态函数组件...
开发中的异常(Exception) 日常开发中会有两种异常1.执行异常(RuntimeException)一种不可预见的异常,如网络问题,数据库无法连接等系统自身的问题,通常需要记录日志和报警2.业务异常(BusinessException)一种可预见的异常,如用户输入有误通常不需要记录日志和报警,直接通过前端界面告诉用户即可...
ResultCode自定义结果码 ResultCode和HTTP定义的status_code (状态码)不同,ResultCode表示的是后端控制器处理后返回给前端结果码Exception.php<?phpnamespace app\exception;class Exception extends \Exception{ public function __construct($message, $code = -1, \Exception $previous = null) { par
PHP实现JWT <?phpnamespace api\helpers;class JWT{ private $signKey = 'p9Uui666666666yyyxxrffghhjkkh'; private $header = [ 'typ' => 'JWT', 'alg' => 'SHA256', ]; private $payload = []; function __construct(
user token的设计 方案一:双token: access_token 和 refresh_tokenCREATE TABLE `user_token` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL, `access_token` bigint(20) UNSIGNED NOT NULL, `access_token_expired` datetime NOT NULL, `refre
前后端分离,后台页面权限和操作权限的思考 后台权限控制都是通过填写路由来达到控制权限,而前端和后端的路由又不同,思路:page路径由前端验证;api路径由后端验证;方案1角色路由权限表 新增字段路由类型,包含的页面(page)和接口(api)两种类型,所以可以增加一个路由类型的字段来区分;<?phpnamespace api\enums;//路由类型class RouteType extends Enum{ const PAGE = 1;//页面 const API = 5;//接口}后台菜单栏
PHP实现枚举基类 基类Enum.php<?phpnamespace api\enums;class Enum{ private static function getConstants() { $class = new \ReflectionClass(get_called_class()); return $class->getConstants(); } public static function isVali
前后端分离,图片(资源)路径如何处理 nodeJs打包构建好的dist目录存放在服务器,启动node服务,如localhost:3000设置代理转发方案A:使用Nginx的转发功能location /api { proxy_pass http://api.backend-server.com;}方案B:使用Node相关的代理中间件在代码里面设置,如http-proxy-middleware这样设置后访问localhost:3000/api就是访问`http://api.backend-server.com后端数据库.