Tomcat

SpringBoot 项目如何在tomcat容器中运行

风格不统一 提交于 2020-12-01 07:08:35
一. SpringBoot内嵌容器的部署方式 SpringBoot内部默认提供内嵌的tomcat容器,所以可以直接打成jar包,丢到服务器上的任何一个目录,然后在当前目录下执行 java -jar demo.jar 即可运行,但是这种方式的运行退出进程就结束了。如果想在后台可以运行,则需要执行 java -jar demo.jar > log_demo.file 2>&1 & 即可在后台运行该服务了,log_demo.file是日志文件。如需停止该进程 执行 ps -ef|grep java 找到对应的进程 kill 进程ID 即可 二. 使用外部的tomcat部署方式 pom.xml文件,dependencies中添加: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> 在pom.xml文件中,project下面packaging标签改为 <packaging>war</packaging> 将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法

SpringBoot读取Resource下文件的几种方式

限于喜欢 提交于 2020-12-01 01:49:42
最近在项目中涉及到Excle的导入功能,通常是我们定义完模板供用户下载,用户按照模板填写完后上传;这里待下载模板位置为resource/excelTemplate/test.xlsx,尝试了四种读取方式,并且测试了四种读取方式分别的windows开发环境下(IDE中)读取和生产环境(linux下jar包运行读取)。 第一种: ClassPathResource classPathResource = new ClassPathResource("excleTemplate/test.xlsx"); InputStream inputStream =classPathResource.getInputStream(); 第二种: InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("excleTemplate/test.xlsx"); 第三种: InputStream inputStream = this.getClass().getResourceAsStream("/excleTemplate/test.xlsx"); 第四种: File file = ResourceUtils.getFile("classpath:excleTemplate

企业信息门户webtap产品发布了

无人久伴 提交于 2020-11-30 23:46:01
作品背景 随着企业应用的软件越来越多,并且信息软件基本以B/S为主了,很多时候各种软件的地址,让大家记的头昏脑胀,并且一堆密码要记,而且大部分系统之间无法互通,虽然市面上有各种集成方案,但无法做到简单有效,都是大型软件厂商的PPT解决方案加一堆开发工作和大量的成本支出,最重要的是大部分都是体验极差、毫无美感的东西。 解決方案 基于上述背景,个人利用业余时间在持续完善做一款小作品,或多或少的解决一点问题,虽然目前还没成熟,但是考虑再三,先开源出来,希望有志同道合的人一起完善。 作品说明 1.首页 首页主要功能有 app显示 文件夹分类 应用搜索 登录 登录后快捷新增应用 背景自动每天同步bing搜索引擎的的壁纸 应用和新闻站点链接(未完成) 通过点击应用上的锁 icon即可查看应用的账号和密码,在没有单点登录的功能情况下这个功能非常有用 2.系统登录 点击首页右上角的 sigin 到登录页面 3.应用列表 后台管理 主功能只有新建应用、应用列表、系统设置,极其简约,好不好看只是个人风格,默认登录进来及显示应用列表。 4、新增应用 添加应用除了常规功能还增加了敏感信息输入,敏感信息只能登录后才能查看; 查看密码功能考虑到很多时候连接地址需要密码才能访问; 查看权限目前只实现了登录可见以及自己可见(权限功能还需要继续完善); 5、系统设置 系统设置里可以进行基本信息维护,个人登录信息维护

SpringBoot框架的使用

你离开我真会死。 提交于 2020-11-30 23:27:57
什么是SpringBoot Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目。大多数SpringBoot项目只需要很少的配置文件。 SpringBoot 特性 1 、创建独立的 Spring 项目 2 、内置 Tomcat 和 Jetty 容器 3 、提供一个 starter POMs 来简化 Maven 配置 4 、提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等 5 、完全没有代码生成和 xml 配置文件 SpringBoot 优缺点 优点: 1 、快速构建项目。 2 、对主流开发框架的无配置集成。 3 、项目可独立运行,无须外部依赖 Servlet 容器。 4 、提供运行时的应用监控。 5 、极大的提高了开发、部署效率。 6 、与云计算的天然集成。 缺点: 1、 如果你不认同 spring 框架,也许这就是缺点。 SpringBoot 核心功能 1 、独立运行 Spring 项目 Spring boot 可以以 jar 包形式独立运行,运行一个 Spring Boot 项目只需要通过 java -jar xx.jar 来运行。 2 、内嵌 servlet 容器 Spring Boot 可以选择内嵌 Tomcat 、 jetty 或者 Undertow, 这样我们无须以 war 包形式部署项目。 3

JVM调优不知道怎么回答,阿里总结四大模块,学不会就背过来

我的梦境 提交于 2020-11-30 23:18:10
一个 web 应用不是一个孤立的个体,它是一个系统的部分,系统中的每一部分都会影响整个系统的性能,而并发量就是这个系统最重要的组成部分之一,它最大程度的影响着用户体验度,就像是一条高速公路,在这条高速上奔跑的汽车最关心的不就是这条高速是否会堵车啊,所以在高速设计(系统开发)的时候就要着手考虑这件事,尤其是现在的生活中,很多的朋友在面试的时候也经常被问到一个问题:JVM调优,那不清楚应该怎么处理怎么办,没关系,我来了,看完这篇文章,哪怕你从来没有调优经验也可以和面试官扯皮 个人公众号:Java架构师联盟,每日更新技术好文 话不多说,看重点 1. 常用的性能评价/测试指标 在调优之前,起码你要清楚你再进行调优的时候都要有哪些关注点吧,知己知彼才能百战不殆啊,那我们就来看一下都有哪些常用的性能测试指标 1.1 响应时间 提交请求和返回该请求的响应之间使用的时间,一般比较关注平均响应时间。 常用操作的响应时间列表: 1.2 并发数 同一时刻,对服务器有实际交互的请求数。 和网站在线用户数的关联:1000 个同时在线用户数,可以估计并发数在 5%到 15%之间, 也就是同时并发数在 50~150 之间。 1.3 吞吐量 对单位时间内完成的工作量(请求)的量度 1.4 关系 系统吞吐量和系统并发数以及响应时间的关系: 以高速公路的通行状况: 吞吐量是每天通过收费站的车辆数目

HttpServletResponse类的介绍和使用+解决响应传递给客户端数据的中文乱码问题

一曲冷凌霜 提交于 2020-11-30 11:54:00
HttpServletResponse类作用 HttpServletResponse类和HttpServletRequest类一样。每次请求进来,Tomcat服务器都会创建一个Response对象传递给Servlet程序去使用。HttpServletRequest表示请求过来的信息,HttpServletResponse表示所有响应的信息 我们如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来进行设置 他是通过流来给客户端传递数据的 响应有两个流,如下 两个输出流的说明 左边是名称,中间是获取这些流的方法,右边是作用 字节流 getOutputStream() 常用于下载(传递二进制数据) 字符流 getWriter() 常用于回传字符串(非常常用) 两个流同时只能使用一个,也就是用了字节流就不能用字符流了,用了字符流就不能用字节流了 比如我们同时用一下这两个方法: 然后我们运行 报错了,说我们用了一个就不要用另一个了 向客户端传数据 要求,向客户端回传字符串数据 步骤 获取字符流 向客户端回传数据 我们先定义一个PrintWriter对象来接收获取到的字符流对象 然后通过字符流对象的printin()方法或者write()的方法向客户端回传数据 括号中填入我们需要回传的字符 这个东西如果只是传递回英文是没有任何问题的,但是如果我们传递的数据中文

Intellij IDEA创建spring MVC项目

…衆ロ難τιáo~ 提交于 2020-11-30 03:36:21
相信各位未来的Java工程师已经接触到了spring MVC这个框架的强大之处,看了很多的教程,都是eclipse的,在intellij IDEA这个强大的工具面前居然不能很顺畅的,今天我就带领大家用IDEA创建Hello World程序。 注: 1、本文只讲解怎么用intellij IDEA进行创建spring MVC项目,并不会讲解具体的spring MVC框架基础,如需了解框架原理,请移步其他教程。 2、本文是我在刚学习Spring MVC框架中,看了很多的教程,经过了前前后后很多的坑点进行编写,不足之处,多多指点,谢谢 环境: intellij IDEA 2017 CI JDK 1.8 tomcat 8.5.23 具体步骤 1、新建项目 勾选Spring MVC 、Web Application(勾选了Spring MVC后IDEA默认会勾选Web Application),Next 2、填写项目名、项目路径 这里项目名我用简单的springmvcdemo,路径就使用默认路径,Finish 3、创建文件夹如图 classes、lib文件夹我建议和我文件夹名相同(只是建议)、路径我建议也相同,其他两个文件夹看个人爱好哈。 4、导入相关jar包(IDEA自动导入) 在IDEA中其实已经给我们自动导入了相关jar,只不过我们需要在WEB-INF目录下导入相关jar包

使用ingress暴露kubernetes集群内部的pod服务

北城以北 提交于 2020-11-30 03:33:37
微信公众号搜索 DevOps和k8s全栈技术 ,关注之后,在后台回复 ingress, 就可获取 Ingress相关视频和文档 ,也可扫描文章最后的二维码关注公众号。 回顾 Kubernetes 暴露服务的方式目前只有三种: LoadBlancer Service、ExternalName、NodePort Service、Ingress ,使用四层负载均衡调度器service时,当客户端访问kubernetes集群内部的应用时,数据包的走向如下面流程所示: client--->nodeip:port--->service ip:port--->podip:port Ingress和Ingress Controller是什么? 我们把kubernetes集群内部的服务提供给外界访问会产生以下几个问题: 1、Pod 漂移问题 Kubernetes具有强大的副本控制能力,能保证在任意副本(Pod)挂掉时自动从其他机器启动一个新的,还可以动态扩容等,通俗地说,这个Pod可能在任何时刻出现在任何节点上,也可能在任何时刻死在任何节点上;那么自然随着Pod的创建和销毁,Pod IP 肯定会动态变化;那么如何把这个动态的Pod IP暴露出去?这里借助于Kubernetes的 Service 机制,Service可以以标签的形式选定一组带有指定标签的Pod,并监控和自动负载他们的Pod IP

Ajax request from jax-rs web service

人走茶凉 提交于 2020-11-30 00:28:28
问题 While sending a post request from my tomcat web service i got an error as below: " Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access." I'm using tomcat 9.* and developed my web service with jax-rs java web api. While i have tested my web service with postman, i got a good response from my web service (http 200 response). Yet, when i tried to send ajax post

Ajax request from jax-rs web service

拜拜、爱过 提交于 2020-11-30 00:27:06
问题 While sending a post request from my tomcat web service i got an error as below: " Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access." I'm using tomcat 9.* and developed my web service with jax-rs java web api. While i have tested my web service with postman, i got a good response from my web service (http 200 response). Yet, when i tried to send ajax post