Tomcat

JAVA后端 开发 复习笔录

馋奶兔 提交于 2020-08-15 18:43:13
这份博客,更多的是作为一个复习笔录的总结分享,会有些许 不足希望各位大佬指点一二 这次复习 分为四大章 分别是JAVA基础部分内容 WEB网页设计 进阶部分 拓展 java基础部分 java环境的搭建 基础语法 循环结构 数组,函数 面向对象开发 23种设计模式详解 接口 内部类 idea环境搭建 字符串 可变字符串 集合 字节流 线程 网络编程 WEB网页设计 html静态网页设计 css层叠样式表 JavaScript 进阶部分 Jquery xml配置文件 linux虚拟机 Mysql数据库 Oracle 数据库 数据库底层 jdbc开发 Tomcat,http协议, 前后端联合开发 JSP开发 AJax,json git,Maven Mybatis框架 Spring,SpringMVC,SpringBoot 三大主流框架 全文检索 搜索引擎技术 协调服务 分布式微服务 拓展部分 框架整合开发 算法解析 来源: oschina 链接: https://my.oschina.net/u/4324616/blog/4496997

微信小程序开发部署

柔情痞子 提交于 2020-08-15 18:31:00
一、开发准备   1,想要开发微信小程序,必须要有一个AppId,如果没有可以去注册一个。    https://mp.weixin.qq.com/进入注册页面,点击上方注册。         2,点击选择“小程序”出现注册页面。        3,填写账号信息,包含邮箱,密码,验证码。        4,登录邮箱,点击链接,进行验证。   5,进入信息登记界面,进行信息登记,分为“主体信息登记”和“管理员信息登记”。“主体信息提交后不可修改”! 二、小程序开发   1,小程序开发需要安装开发者工具,下载与安装客户端微信开发者工具并使用小程序微信号扫码登录。        2, 选择左边的小程序项目,让后选择项目的目录,你的 AppID和项目名称。AppId需要在        3,小程序需要能够访问https的域名才能够在手机上使用,获取数据。   4,微信小程序的开发可以参考微信小程序开发帮助文档: https://developers.weixin.qq.com/miniprogram/dev/framework/ 三、小程序发布上线   发布流程,大概分三个大步骤:上传代码、提交审核、发布版本   1、上传代码     在代码编写完毕后,在他顶部的导航条上找到【上传】          如果你之前已经上传过了就会出现下面的提示:         

Cesium项目实战(3)-城市建筑三维白膜数据的制作与效果展示

本秂侑毒 提交于 2020-08-15 16:29:16
作为城市的主体,如果能站在上帝视角,直观的浏览这个城市的建筑面貌,或许这是他对这个城市最直接的感受,往往记住一个城市最直接的就是记住了它的标志性建筑,比如:北京天安门、水立方,上海东方明珠,广州小蛮腰塔等等。那么,在这篇文章里,我们用最简单的,通过还原建筑的方式来将整个城市从二维平面转换为三维立体。   在本篇“城市建筑三维白膜数据的制作与效果展示”中我们主要包括如下几个可视化内容。 城市建筑数据的获取 城市建筑数据的三维白膜建模 城市建筑模型的三维可视化 1. 城市建筑数据的获取   城市建筑数据,指的是一个城市的建筑平面轮廓图,跟某栋建筑的详规、控规图纸不一样,而是城市范围内所有建筑的轮廓,轮廓可以简单的就一个矩形,或者多边形封闭区域,表达的是在这个区域内有栋建筑,不需要详细的信息。   正常途径的话,数据更新最快,也最准确的,当然归属规划、国土相关部门了,但是这类数据往往很难拿到,如果有可能的话,也尽量从官方获取数据。   当然我们如果仅仅只是想做一些研究性的课题,或者其他技术交流、实验性质的项目的话,这个时候,我们对于数据的时效性、准确性就没那么高了,可以在网上下载免费的数据下载器工具软件,或者付费购买一些公司、大佬们写的下载软件,当然这个购买的费用也不贵,可以终生适用,还可以得到免费的升级维护服务。   当然,也有最简单的方式,就是通过一些渠道,QQ群、微信群、论坛

JNPF.java前后端分离框架,SpringBoot+SpringCloud开发微服务平台

China☆狼群 提交于 2020-08-15 15:47:57
JNPF.java 版本采用全新的 前后端分离 架构模式。前后端分离已成为互联网项目开发的业界标准开发方式,通过 nginx+tomcat 等方式有效的进行解耦合,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务打下坚实的基础。 技术选型: SpringBoot SpringCloud Mybatis-Plus Redis jquery vue Bootstrap ElementUI Uniapp h5 微服务开发: JNPF.java采用 SpringBoot框架 和 SpringCloud框架 ,springboot框架的特点在于简化配置,快速开发,再在搭配上代码生成器,让不懂代码的人也能做到快速开发软件。Springboot也有良好的扩展性,可以将springboot项目拆分为springcloud微服务,springcloud是一套目前完整功能的微服务框架。 微服务已经成为未来开发的大趋势之一了,越来越多的企业开始转型微服务架构,使用微服务架构的项目更加易于开发和维护,并且突破了技术栈的限制,在JNPF.java项目中,已经不限制开发语言了,你可以使用c#语言来开发java项目。 功能模块: 代码生成器 数据连接 功能管理 系统配置 菜单导航 组织管理 岗位管理 用户管理 权限管理 工作流引擎 流程委托 流程设计 报表设计 知识管理等多种原生组件

JNPF.java前后端分离框架,SpringBoot+SpringCloud开发微服务平台

不想你离开。 提交于 2020-08-15 15:47:45
JNPF.java 版本采用全新的 前后端分离 架构模式。前后端分离已成为互联网项目开发的业界标准开发方式,通过 nginx+tomcat 等方式有效的进行解耦合,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务打下坚实的基础。 技术选型: SpringBoot SpringCloud Mybatis-Plus Redis jquery vue Bootstrap ElementUI Uniapp h5 微服务开发: JNPF.java采用 SpringBoot框架 和 SpringCloud框架 ,springboot框架的特点在于简化配置,快速开发,再在搭配上代码生成器,让不懂代码的人也能做到快速开发软件。Springboot也有良好的扩展性,可以将springboot项目拆分为springcloud微服务,springcloud是一套目前完整功能的微服务框架。 微服务已经成为未来开发的大趋势之一了,越来越多的企业开始转型微服务架构,使用微服务架构的项目更加易于开发和维护,并且突破了技术栈的限制,在JNPF.java项目中,已经不限制开发语言了,你可以使用c#语言来开发java项目。 功能模块: 代码生成器 数据连接 功能管理 系统配置 菜单导航 组织管理 岗位管理 用户管理 权限管理 工作流引擎 流程委托 流程设计 报表设计 知识管理等多种原生组件

单点登录集群安装教程

帅比萌擦擦* 提交于 2020-08-15 15:17:43
在开发中的开源项目JeePlatform: https://github.com/u014427391/jeeplatform 欢迎start(s收藏),打算集成单点登录到自己的开源项目里,所以先搭建环境 【集群简介】 使用nginx作为负载均衡,使用redis存储tomcat session,来实现集群中tomcat session的共享,使用redis作为cas ticket的仓库,来实现集群中cas ticket的一致性。 【安装教程】 【keepalived安装】 下载keepalived到/usr/local/src tar -xzvf keepalived-1.2.19.tar.gz cd /usr/local/src/keepalived-1.2.19 配置 ./configure --prefix=/usr/local/keepalived 编译 make && make install 复制建立服务启动脚本,以便使用service命令控制之: cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ chmod +x /etc/init.d/keepalived cp /usr/local/keepalived/etc/sysconfig/keepalived /etc

JNPF.java前后端分离框架,SpringBoot+SpringCloud开发微服务平台

老子叫甜甜 提交于 2020-08-15 15:08:16
JNPF.java 版本采用全新的 前后端分离 架构模式。前后端分离已成为互联网项目开发的业界标准开发方式,通过 nginx+tomcat 等方式有效的进行解耦合,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务打下坚实的基础。 技术选型: SpringBoot SpringCloud Mybatis-Plus Redis jquery vue Bootstrap ElementUI Uniapp h5 微服务开发: JNPF.java采用 SpringBoot框架 和 SpringCloud框架 ,springboot框架的特点在于简化配置,快速开发,再在搭配上代码生成器,让不懂代码的人也能做到快速开发软件。Springboot也有良好的扩展性,可以将springboot项目拆分为springcloud微服务,springcloud是一套目前完整功能的微服务框架。 微服务已经成为未来开发的大趋势之一了,越来越多的企业开始转型微服务架构,使用微服务架构的项目更加易于开发和维护,并且突破了技术栈的限制,在JNPF.java项目中,已经不限制开发语言了,你可以使用c#语言来开发java项目。 功能模块: 代码生成器 数据连接 功能管理 系统配置 菜单导航 组织管理 岗位管理 用户管理 权限管理 工作流引擎 流程委托 流程设计 报表设计 知识管理等多种原生组件

Docker镜像分层构建

家住魔仙堡 提交于 2020-08-15 14:06:48
构建Tomcat镜像 1.构建基础镜像 mkdir /opt/dockerfile/system/ubuntu vim /opt/dockerfile/system/ubuntu/Dockerfile #Ubuntu Base Image FROM ubuntu:20.04 MAINTAINER shitouweb shitouweb@126.com RUN apt-get update && apt-get install -y wget libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev iproute2 net-tools iotop gcc g++ automake build-essential unzip tzdata RUN groupadd www -g 2020 && useradd www -u 2020 -g www vim /opt/dockerfile/system/ubuntu/build-command.sh #!/bin/bash sudo docker build -t ubuntu-base:20.04 . 2.构建JDK镜像 mkdir /opt/dockerfile/web/jdk/jdk-8U251 vim /opt/dockerfile/web/jdk/jdk-8U251

SpringMVC 超大文件上传和断点续传的实现

浪尽此生 提交于 2020-08-15 13:33:42
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步: 前端修改 由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify文件上传组件,在项目使用的jslib项目中找到了BJUI框架集成jQuery Uploadify的部分,这部分代码封装在bjui-all.js文件中, 在bjui-all.js文件中的全局变量定义中有以下部分代码,这就是定义的有关于上传的Uploadify控件的重要变量: upload:{uploadLimit:5,fileSizeLimit:31744,removeTimeout:0.8} 以上三个变量代表的含义是: uploadLimit:表示上传文件个数的限制,5表示文件上传个数限制是5个 fileSizeLimit:表示上传文件大小的限制,31744单位是KB,也就是表示31M removeTimeout:表示移除文件的时间限制 继续查找使用到这些变量的地方,看到了文件大小超出限制等 了解了BJUI前端框架对于上传大文件的限制,可以这样使用,增大文件上传大小和数量,可以按照如下进行修改,我们在bjui-all

Tomcat源码分析(3)-容器Container整体架构

徘徊边缘 提交于 2020-08-15 13:16:16
之前的博文介绍了tomcat有两大核心组件,connector和container,connector负责接受外部请求,container负责处理请求,本文从源码的角度介绍container的整体架构。 一、容器分类 tomcat容器为四个: Engine:代表容器引擎,管理多个虚拟站点,一个Service只有一个Engine Host:代表虚拟主机 Context:代表一个web站点 Wrapper:代表一个servlet 二、容器的结构 以上四大容器是父子关系,但是统一实现了Container接口: public interface Container extends Lifecycle { public Pipeline getPipeline(); public Container getParent(); public void setParent(Container container); public void backgroundProcess(); public void addChild(Container child); public Container findChild(String name); public Container[] findChildren(); public void removeChild(Container child); }