springboot深入学习(四)-----tomcat配置、websocket

一、更改servlet服务器

springboot中默认可以集成多种servlet容器,当引入如下依赖时:

springboot默认以tomcat作为项目的servlet容器,如果用户想要替换tomcat为jetty或者undertow,只需要做以下更改:

二、tomcat配置

  目前来说tomcat受众应该还是更广,所以本人暂时选用tomcat,相关配置如下:

  a、通用servlet容器配置(也就是针对jetty、undertow都有效的)

  

  b、tomcat特有

  

三、websocket

  websocket为浏览器以及服务器实现了双工异步通信的功能,说白了,就是客户端可以向服务端发送消息,服务端也可以向客户端发送消息。但是我们直接使用websocket协议开发起来特别繁琐,一般使用更高级别的协议,stomp,使用一个基于帧的

格式来定义消息,与http的request以及response类似。springboot中使用websocket基于spring-boot-starter-websocket。

  1、广播式

  服务端有消息,会发送到当前情况所有连接在服务端的客户端上去。

  完整的项目结构:

  

  a、配置websocket

  

  b、浏览器发送到服务器端使用的消息类

  

  c、服务端发送到浏览器的消息类

  

  d、服务端

  

  e、新建ws.html,放到resources/templates路径下

f、页面请求入口

  测试运行结果:

  1、浏览器中打开多个http://localhost:8080/ws,并打开连接

  

  输入阿里-马云,结果如下:

  

搞定,客户端可以发送消息到服务端,服务端可以向订阅了的所有客户端发送对应的消息。

四、总结

  为啥有了http协议,还需要websocket呢,因为http协议只能做到客户端主动请求服务端,然后获得相应的数据,但是服务端不能主动推送数据到客户端。因此之前都是使用轮询的方式来获取到相应的数据,这种方式的效率

非常低,因为需要不停的打开与断开连接。websocket基于tcp协议,并且客户端可以发送请求到服务端,服务端也可以发送数据到客户端。具体特点如下:

websocket原理图:

解释一波英文:

  handshake:握手

  acknowledgement:确认

  bi-directional messages:双向数据交流

原文地址:https://www.cnblogs.com/alimayun/p/10269614.html

时间: 2024-11-07 22:05:18

springboot深入学习(四)-----tomcat配置、websocket的相关文章

Java Web学习笔记——Tomcat配置

使用的Tomcat版本是apache-tomcat-6.0.20 详细的环境变量配置参考windows 7系统安装与配置Tomcat服务器环境 网址为http://jingyan.baidu.com/article/624e7459a7d6e734e9ba5a70.html 最后在浏览器中输入网址http://localhost:8080/或者http://127.0.0.1:8080/

Java学习-031-JavaWeb_001 -- Tomcat环境部署及基本配置

首先到 Tomcat 官网,下载对应的版本,我本机的系统是 WIN7 64BIT 的,因而我选择的是64bit 的zip包,如下图所示: 下载后解压后,目录TOMCAT 对应的目录结构如下所示: TOMCAT 启动:进入安装目录 apache-tomcat-8.0.26\bin 下,双击 startup.bat 启动 tomcat. 启动窗口如下图所示,对应的端口号可在启动窗口查看. 启动前请查看端口号 8080 是否被占用,若被占用则需要修改相应的端口号,修改端口号的配置文件路径为:apach

Java Web学习(一) Eclipse与Tomcat配置

Java Web学习(一) Eclipse与Tomcat配置 一.Eclipse的选择 使用基于Eclipse的STS Ide ,个人感觉挺好用的. 地址:http://spring.io/tools/sts 根据以上两张图片,将STS 下载下来.然后解压缩. 用编辑器打开STS.ini 文件,在最后一行,添加    -Dfile.encoding=UTF-8 这样以后所有用STS 创建的文件都是UTF-8的编码了. 二.JDK与Tomcat的安装与配置 1.JDK安装与配置 地址: http:

使用亚马逊云服务器EC2做深度学习(四)配置好的系统镜像

这是<使用亚马逊云服务器EC2做深度学习>系列的第四篇文章. (一)申请竞价实例  (二)配置Jupyter Notebook服务器  (三)配置TensorFlow  (四)配置好的系统镜像 配置深度学习的环境是一个非常繁琐的过程.它要求你对Linux命令有一定地了解,与此同时各种深度学习库.驱动更新十分频繁,有可能明天教程里的安装脚本就不管用了. AMI AMI就是解决方法.AMI是可以直接在EC2启动的系统镜像,有的系统镜像已经配置好了使用GPU的深度学习环境,这样启动实例后,你就可以直

Java学习必备之JDK和Tomcat配置

在学习Java前,我们都有一个必不可少的步骤,安装JDK和tomcat,安装倒也容易,但是每次的环境配置倒是总还要去查资料来配置,今天就把配置的步骤总结一下,以方便下次的使用. 一.JDK配置 1.右键我的电脑属性--高级系统设置--环境变量--新建系统变量 变量名: JAVA_HOME 值:为Java的安装目录,我的是:D:\Program Files\Java\jdk1.8.0_45 2.寻找系统变量path,在path后添加: %JAVA_HOME%\bin;%JAVA_HOME%\jre

SpringBoot学习-SpringMVC自动配置

SpringBoot学习-SpringMVC自动配置 前言 在SpringBoot官网对于SpringMVCde 自动配置介绍 1-原文介绍如下: Spring MVC Auto-configuration Spring Boot provides auto-configuration for Spring MVC that works well with most applications. The auto-configuration adds the following features

SpringBoot是如何实现自动配置的?--SpringBoot源码(四)

注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 前言 本篇接助力SpringBoot自动配置的条件注解ConditionalOnXXX分析--SpringBoot源码(三) 温故而知新,我们来简单回顾一下上篇的内容,上一篇我们分析了SpringBoot的条件注解@ConditionalOnXxx的相关源码,现挑重点总结如下: SpringBoot的所有@ConditionalOnXxx的条件类OnXxxCondition都是继承于SpringBootCondition

用keytool制作证书并在tomcat配置https服务(四)

用keytool制作证书并在tomcat配置https服务(一) 用keytool制作证书并在tomcat配置https服务(二) 用keytool制作证书并在tomcat配置https服务(三) 上一篇我们实现了服务端自己模拟CA认证,那么有个问题. 一个客户端和服务端对接就需要把这个客户端的证书拿来导入到服务端的密钥库中.那么很多客户端要对接,就要多次导入. 可以这样,让客户端发送证书的csr文件给我们,我们用模拟的CA密钥库对客户端证书也进行签名颁发. 然后把签名后的证书发送给他,让他自己

Eclipse Tomcat配置/管理/调试指南

从myeclipse转到Eclipse最不方便的之一莫过于Web项目部署了,老是在想怎么不能把myeclipse的那个移植过来,或者有没有高人能按照Myeclipse开发一个,非常遗憾. 原版的Eclipse自带WTP,WTP本身的Web应用服务器管理功能还可以,但有些复杂. 要想把它用顺手,还要花点时间来学习一下.学会后还算方便的. 目前还未找到十分好用的Eclipse下的管理Tomcat的插件. 有一个老处于插件TomcatPlugin V321,只能管理一个Tomcat,数量上不够用. 所