Tomcat

Changes in .xhtml file not reflected in browser, restart and build needed

空扰寡人 提交于 2021-01-27 06:28:56
问题 If I make changes in my .xhtml file, the changes are not getting reflected on the screen in my browser. To get it to work, I have to restart the server everytime. This seems unwieldy to me. I have added the following context parameters in my web.xml : <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <context-param> <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name> <param-value>1</param-value> </context-param>

Changes in .xhtml file not reflected in browser, restart and build needed

旧时模样 提交于 2021-01-27 06:28:11
问题 If I make changes in my .xhtml file, the changes are not getting reflected on the screen in my browser. To get it to work, I have to restart the server everytime. This seems unwieldy to me. I have added the following context parameters in my web.xml : <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <context-param> <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name> <param-value>1</param-value> </context-param>

JAVA I/O

為{幸葍}努か 提交于 2021-01-27 06:22:41
一、什么是I/O、流   I/O就是数据的输入输出   流就是一个数据的序列 二、I/O的基本类库结构   1、基于字节操作的I/O接口:InputStream OutputStream   2、基于字符操作的I/0接口:Writer Reader   3、基于文件操作的I/0接口:File   4、基于网络操作的I/O接口:Socket 三、磁盘I/O工作机制   1、读写文件:内存缓存机制:读取文件时,先查看内存缓存中是否存在该数据,存在则直接加载到用户空间   2、标准访问文件方式     (1)读取时先检查内核缓存空间是否存在,有则返回,无则读取磁盘加载到内核空间     (2)写的时候从用户地址空间复制到内核地址空间缓存中,写操作完成,写到磁盘由系统负责,除非显式调用 sync()   3、直接I/O方式     (1)应用程序直接访问磁盘数据,减少一次内核到用户空间数据的复制     (2)这种加载方式较慢,一般与异步I/O配合使用   4、内存映射方式     (1)内存映射是指将硬盘上的文件位置与进程中的逻辑地址空间中的一块大小相同的区域对应,访问文件转换为访问文件     (2)适用于大量数据量的传输 四、访问磁盘文件     1、JAVA中的File不是一个真实存在的文件对象,返回的是一个FileDescriptor对象

责任链设计模式

吃可爱长大的小学妹 提交于 2021-01-26 23:32:15
1、责任链模式是一种对象的行为模式 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链 请求在这个链上传递,直到链上的某一个对象决定处理此请求 发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求 系统可以在不影响客户端的情况下动态地重新组织和分配责任 2、责任链模式的结构 抽象处理者角色 public abstract class Handler { /** * 持有后继的责任对象 */ protected Handler successor; /** * 示意处理请求的方法,虽然这个示意方法是没有传入参数的 * 但实际是可以传入参数的,根据具体需要来选择是否传递参数 */ public abstract void handleRequest(); /** * 取值方法 */ public Handler getSuccessor() { return successor; } /** * 赋值方法,设置后继的责任对象 */ public void setSuccessor(Handler successor) { this.successor = successor; } } 具体处理者角色 public class ConcreteHandler extends Handler { /** * 处理方法,调用此方法处理请求 */ @Override

timeout超时时长优化和hystrix dashboard可视化分布式系统

蓝咒 提交于 2021-01-25 06:58:11
在生产环境中部署一个短路器,一开始需要将一些关键配置设置的大一些,比如timeout超时时长,线程池大小,或信号量容量 然后逐渐优化这些配置,直到在一个生产系统中运作良好 (1)一开始先不要设置timeout超时时长,默认就是1000ms,也就是1s (2)一开始也不要设置线程池大小,默认就是10 (3)直接部署hystrix到生产环境,如果运行的很良好,那么就让它这样运行好了 (4)让hystrix应用,24小时运行在生产环境中 (5)依赖标准的监控和报警机制来捕获到系统的异常运行情况 (6)在24小时之后,看一下调用延迟的占比,以及流量,来计算出让短路器生效的最小的配置数字 (7)直接对hystrix配置进行热修改,然后继续在hystrix dashboard上监控 (8)看看修改配置后的系统表现有没有改善 根据系统表现优化和调整线程池大小,队列大小,信号量容量,以及timeout超时时间的经验 一开始如果默认的线程池大小是10 理想情况下,每秒的高峰访问次数 * 99%的访问延时 + buffer = 30 * 0.2 + 4 = 10线程,10个线程每秒处理30次访问应该足够了,每个线程处理3次访问 此时,我们合理的timeout设置应该为300ms,也就是99.5%的访问延时,计算方法是,因为判断每次访问延时最多在250ms(TP99如果是200ms的话)

bat(批处理)命令(tomcat 7.0.75 startup.bat 命令集)

∥☆過路亽.° 提交于 2021-01-25 06:56:21
本文主要介绍tomcat 7.0.75中startup.bat(位置:tomcat目录\bin)中涉及到的bat命令,为tomcat源码研究做准备。 startup.bat中涉及到的bat命令如下:   一. echo echo 命令:显示消息,或者启用或关闭命令回显 echo 命令格式:   1.echo [on|off]   2.echo [message] 测试代码如下: 1 d: 2 cls 3 echo on 4 echo This is test 5 echo off 6 echo This is test 7 pause   效果如下:      小结:   经测试发现echo 主要有2大功能: 显示消息 打开或关闭命令回显 * 命令回显:如上图,当脚本运行至第一个echo This is test 时,已经运行了echo on,所以此时命令回显是打开的,故而在cmd中显示该命令(echo This is test)。继续运行脚本至第二个This is test时,运行了echo off,命令回显关闭,所以在cmd只会显示命令(echo This is test)的结果(在cmd显示This is test),而不会显示该命令。 二. @ @命令:运行时不回显命令 测试代码如下: 1 d: 2 cls 3 echo This is test 4 @echo This

Change the port of a Spring boot application without changing the code

假装没事ソ 提交于 2021-01-24 09:04:33
问题 I have two applications that I need to run simultaneously, and both are trying to run on port 8080 . I'd like to change one of them to port 9000 . The application I'm trying to change has spring security, so it runs on port 8443 when using https and port 8080 when using http . I have to move it from port 8080 without changing any .java files. Also, I need to run the other application on port 8080 as well, so changing the default tomcat port wouldn't be a good idea. I tried adding to

Change the port of a Spring boot application without changing the code

孤街浪徒 提交于 2021-01-24 09:01:25
问题 I have two applications that I need to run simultaneously, and both are trying to run on port 8080 . I'd like to change one of them to port 9000 . The application I'm trying to change has spring security, so it runs on port 8443 when using https and port 8080 when using http . I have to move it from port 8080 without changing any .java files. Also, I need to run the other application on port 8080 as well, so changing the default tomcat port wouldn't be a good idea. I tried adding to

分布式架构的演变过程

杀马特。学长 韩版系。学妹 提交于 2021-01-24 00:52:30
一、前言 ​  随着社会的发展,技术的进步,以前的大型机架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的分布式架构,从大型机到分布式,经历了好几个阶段,我们弄明白各个阶段的架构,才能更好地理解和体会分布式架构的好处,那么本文我们就来聊聊分布式架构的演进过程,希望能给大家带来眼前一亮的感觉。 二、背景说明 ​  我们都知道一个成熟的大型网站的系统架构并非一开始就设计的非常完美,也没有一开始就具备高性能、高并发、高可用、安全性等特性,而是随着用户量的增加、业务功能的扩展逐步演变过来的,慢慢的完善的。 在这个过程中,开发模式、技术架构等都会随着迭代发生非常大的变化。 而针对不同业务特征的系统,各自都会有自己的侧重点,例如像淘宝这类的网站,要解决的重点问题就是海量商品搜索、下单、支付等问题; 像腾讯这类的网站,要解决的是数亿级别用户的实时消息传输;而像百度这类的公司所要解决的又是海量数据的搜索。每一个种类的业务都有自己不同的系统架构。 ​  下面我们来简单模拟一个架构演变过程。 我们以 javaweb 为例,来搭建一个简单的电商系统,从这个系统中来看系统的演变过程。要注意的是接下来的演示模型, 关注的是数据量、访问量提升,网站结构的变化, 而不关注具体业务的功能点。其次,这个过程是为了让大家能更好的了解网站演进过程中的一些问题和应对策略。

springboot+vue实现文件上传

最后都变了- 提交于 2021-01-23 09:09:02
https://blog.csdn.net/mqingo/article/details/84869841 技术: 后端:springboot 前端框架:vue 数据库:mysql pom.xml: <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> controller: @RestController @RequestMapping("/yfjs") @CrossOrigin public class YFJSController { @Autowired private YFJSService yfjsService; @Autowired private FJSCService fjscService; private String url; @RequestMapping(value="/file",produces=