context

tomcat部署web应用的4种方法

浪子不回头ぞ 提交于 2020-03-04 11:16:31
转自:https://www.cnblogs.com/xiohao/p/3689832.html tomcat部署web应用的4种方法 在Tomcat中有四种部署Web应用的方式,简要的概括分别是: (1)利用Tomcat自动部署 (2)利用控制台进行部署 (3)增加自定义的Web部署文件 (%Tomcat_Home%\conf\Catalina\localhost\AppName.xml ) (4)手动修改% Tomcat_Home%\conf\server.xml 文件来部署web应用 第一种方式:利用Tomcat自动部署 利用Tomcat自动部署方式是最简单的、最常用的方式。若一个web应用结构为 D:\workspace\WebApp\AppName\WEB-INF\*,只要将一个Web应用的WebContent级的AppName 直接扔进%Tomcat_Home%\webapps文件夹下,系统会把该web应用直接部署到Tomcat中。 所以这里不再赘述。 第二种方式:利用控制台进行部署 若一个web应用结构为 D:\workspace\WebApp\AppName\WEB-INF\*, 利用控制台进行部署的方式如下: 进入tomcat的manager控制台的deploy区域——在Context path中键入"XXX"(可任意取名)——在WAR or Directory

Android 进程保活(三)1像素方案保活

北城余情 提交于 2020-03-04 10:38:51
1像素保活方案坊间流传是手机QQ的保活的方案。什么意思呢?就是我们在手机锁屏时开启一个Activity,为了不让用户有感知,让这个Activity大小为1像素并设置透明无切换动画。在开启屏幕时把这个Activity关掉。 一个Demo来演示一下 创建一个Android工程,默认为我们生成一个MainActivity,这是我们程序的入口Activity。我们通过观察oom_adj值来看一下优先级。 首先启动App,我们看oom_adj的值 我们看oom_adj的值为0,所以当前优先级很高不会被系统杀死。 我们点击home键或者back键来观察一下oom_adj。 我们发现oom_adj的值已经变为了6,所以退到后台的app在资源紧张的情况下就有可能被杀死了。 关于oom_adj可参考: Android 进程保活(一)写在前面 从而我们可通过提高oom_adj的值可以使我们的app被系统杀死的概率变低。 我们使用的1像素保活方案就是应用了这点。 创建一个1像素的Activity,如下: 123456789101112131415161718192021222324252627282930313233343536373839 package com.baweigame.mvvmdemoapplication;import android.support.v7.app

Spring设置定时器配置

我是研究僧i 提交于 2020-03-04 10:10:53
corn表达式生成:http://www.pppet.net/ 1.注解方式 添加命名空间 xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd task任务扫描注解 <task:annotation-driven/> spring扫描位置 <context:annotation-config/> <context:component-scan base-package="com.test"/> 定时任务 @Scheduled(cron="0/5 * * * * ? ") //每5秒执行一次 public void myTest(){ System.out.println("进入测试"); } 注意:定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true) 2.xml方式 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www

js中call,apply,bind的实现原理()

一世执手 提交于 2020-03-04 02:41:08
/* author:yangJian */ // js中call,apply,bind的实现原理() // 三者的区别,都是改变this指针,call和apply主要是参数区别,bind返回的是一个函数体,而call和apply是立即执行 // call的实现 function fn1 (str1,str2,str3){ console.log(this,str1,str2,str3); } function fn2(){ } Function.prototype.call = function (context){ // 避免传入的是基本类型,使用object进行对象化 context = context ? Object(context) : window; context.fn = this; let args = []; for (let i = 1;i 来源: https://www.cnblogs.com/chengxuxing/p/12406192.html

关于 @Conditional 注解

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-04 00:25:25
关于 @Conditional 注解 背景 在我们项目中,有时候需要实现这样的需求。我有个接口I,接口的实现类有A、B,我需要的效果是通过不同的配置,实例化具体某个实现类,即可以选择实例化A或B 在spring中,有个注解 @Conditional 可以实现这个要求。我们先来 最简单的例子1 1、例子1 接口1个 public interface PrinterService { String print ( String content ) ; } 具体实现2个 @Service @Conditional ( PrinterServiceConditional . InkCondition . class ) public class InkPrinterServiceImpl implements PrinterService { @Override public String print ( String content ) { return "喷墨打印机打印:" + content ; } } @Service @Conditional ( PrinterServiceConditional . LaserCondition . class ) public class LaserPrinterServiceImpl implements PrinterService {

【iOS开发】观察者模式

前提是你 提交于 2020-03-03 19:24:28
定义了一种一对多的关系,可以让多个观察者同时监听某一个对象或对象属性的变化。 被监听的对象在状态变化时,会通知所有的观察者,使他们能够及时的处理业务逻辑和代理delegate模式的对比。 iOS提供了KVO机制实现方式 关键步骤: 1. 注册监听 [ self . webView addObserver : self forKeyPath : @"estimatedProgress" options : NSKeyValueObservingOptionNew context : nil ] ; self作为监听者,接收事件 监听self.webView的estimateProgress属性 在NSKeyValueObseringOptionNew的时候发送通知 2. 移除监听 [ self . webView removeObserver : self forKeyPath : @"estimatedProgress" ] ; 3. 接收通知 - ( void ) observeValueForKeyPath : ( NSString * ) keyPath ofObject : ( id ) object change : ( NSDictionary < NSKeyValueChangeKey , id > * ) change context : ( void * )

Flutter小技巧之魔改widget

拟墨画扇 提交于 2020-03-03 18:03:23
算是分享一个Flutter中的小技巧,当然这也不只适用flutter的,其他的像Android中也可以,就是为了快速实现xx设计的要求,我们可以拿出系统本有的widget来魔改成我们自己的,速度而又有格调,毕竟男人不能说不行啊! 先看图,图一为系统的效果,图二为我们需要实现的,比较简单,这个当时是我们公司网页上的加载效果,需要用flutter_web来现实,着急直接改的系统的控件,话说魔改了好几个了,但是都是说用简单的图片和切换状态就可以实现的,都没用上,好遗憾🐰 图一 图二 因为是录屏转gif,效果一般,请担待。 步骤 分析源码,系统的CircularProgressIndicator也是通过继承CustomPainter来画出来的,下面是关键的代码 //总的来说就是使用drawArc来画出图形,然后使用动画来更改初始角度和扇形 @override void paint(Canvas canvas, Size size) { final Paint paint = Paint() ..color = valueColor ..strokeWidth = strokeWidth ..style = PaintingStyle.stroke; if (backgroundColor != null) { final Paint backgroundPaint = Paint() .

【MyBatis】Spring集成MyBatis示例

与世无争的帅哥 提交于 2020-03-03 17:15:46
配置文件 applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd http://www.springframework

在图片上加水印或写字

梦想的初衷 提交于 2020-03-03 14:56:36
使用一般处理程序在已有图片上加水印或者写字 public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //原图 System.Drawing.Bitmap bitmap = new Bitmap(context.Server.MapPath("Uploads/201307269946.jpg")); //水印图 System.Drawing.Bitmap bitmap1 = new Bitmap(context.Server.MapPath("Uploads/201307269390.png")); Graphics g = Graphics.FromImage(bitmap); //Drawing String //g.DrawString("www.cnblogs.com/g1mist", new Font("黑体", 30), Brushes.Red, new PointF(10, 60)); //Drawing Images //将水印图画在原图的(10,60)位置上 g.DrawImage(bitmap1, new Point(10, 60)); bitmap.Save(context.Response.OutputStream,

Zuul网关服务

人盡茶涼 提交于 2020-03-03 01:35:17
简介: 不管是来自于客户端(PC或移动端)的请求,还是服务内部调用。一切对服务的请求都会经过Zuul这个网关,然后再由网关来实现鉴权、动态路由等等操作。Zuul就是我们服务的统一入口。 快速入门 (1)首先创建Spring Initialize创建spring boot项目,勾选Cloud Routing->zuul模块。创建好的项目自动导入了zuul的依赖。 (2)在application.yml里面添加: server: port: 10010 #服务端口 spring: application: name: api-gateway #指定服务名 zuul: routes: service-provider: # 这里是路由id,随意写 path: /service-provider/** # 这里是映射路径 url: http://127.0.0.1:8081 # 映射路径对应的实际url地址本例中, 我们将 /service-provider/** 开头的请求,代理到 http://127.0.0.1:8081 (3)在引导类上 通过 @EnableZuulProxy 注解开启Zuul的功能: @SpringBootApplication @EnableZuulProxy // 开启网关功能 public class ItcastZuulApplication {