ARM + websocket + tomcat

在ARM开发板上部署Tomcat与WebSocket

一、环境准备

为了便于调试,环境准备包括windows开发环境准备,ARM开发环境准备。windows开发环境和ARM环境jdk版本保持一致,Tomcat版本需要达到7.0以上。本文jdk版本为jdk1.8.0_271,windows的Tomcat版本为9.0.41ARM的Tomcat版本为9.0.48

1. jdk下载

jdk下载任意版本的方法参考该博文,选择Java SE8的版本,本文采用jdk1.8.0_271。此外,针对ARM的jdk,应根据相应的位数(32位或64位)进行下载。
32位ARM:下载 Linux ARM 32 Hard Float ABI 系列的jdk,例如 jdk-8u271-linux-arm32-vfp-hflt.tar.gz
64位ARM:下载 Linux ARM 64 Hard Float ABILinux ARM 64 Compressed Archive ,例如 jdk-8u261-linux-arm64-vfp-hflt.tar.gzjdk-8u271-linux-aarch64.tar.gz
相关截图如下:
在这里插入图片描述
图1 ARM环境jdk安装包
在这里插入图片描述
图2 windows环境jdk安装包

Oracle官网下载地址,安装教程挺多的,请参考其他博客,这里不再重复。ARM安装jdk与linux安装jdk的方法一样,直接解压,并在超级管理员权限下,打开:vi /etc/profile,在最后输入一下内容

#注意修改/usr/local/为jdk解压存放的实际路径即可。
export JAVA_HOME=/usr/local/jdk1.8.0_271
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#注意修改/usr/local/为jdk解压存放的实际路径即可。
export CATALINA_HOME=/usr/local/apache-tomcat-9.0.48

修改后,source /etc/profile。(下文会解决jdk出现的一个致命Bug,该致命Bug会导致Tomcat启动失败,无法进入安装成功测试界面)

2. Tomcat下载

Tomcat下载时,注意下载是否为核心包,不要下载错了。
官网下载地址。该链接中可以选择Tomcat9的任意版本,下载内容如下,注意此时的网址链接。
在这里插入图片描述

图3 windows和ARM环境Tomcat安装包
windows安装Tomcat不再重复,ARM安装Tomcat直接解压即可。(下文会解决Tomcat出现的一个致命Bug,该致命Bug会导致Tomcat启动失败,无法进入安装成功测试界面)

二、WebSocket准备

本文使用的Eclipse是2020-12版本,这里直接附上下载地址。有些版本的Eclipse在新建Dynamic Web Project时,无法创建WebConten,为了方便大家开发,本文直接附上
百度云盘下载链接:
链接:https://pan.baidu.com/s/1t6LTZzKfDnsc_FfCJ9i-RQ
提取码:6n54
注意修改项目中的所有IP地址,否则会出现正常访问。
Eclipse如何部署Tomcat教程挺多的,我就不重复了,只是注意修改Server中的端口号,
在这里插入图片描述
一定要修改红框里面的端口号,不然会启动失败。

题外话:

  1. Eclipse开始 Run as 的时候,一定要切换到index.jsp文件下,不然运行之后就是404 Not Found,你只要在任何java类Run as,基本都是404哈,不要问为什么,问就是这个知识点不考哈。其实问题在于,这个项目没有web.xml文件,没有对java类文件进行映射哈,如果做过Servlet服务器的就有印象了,部署之前都要对所有的Servlet类进行映射哈。

建议使用 ./catalina.sh run
不然哪里出错了你都不知道,这个还是可以捕捉到很多Exception信息。

博主太忙了,实在写不下去了,提供参考链接,按着他的流程去部署就完了,我会把两个致命Bug的解决链接顺便附上。
2. ARM环境部署参考博文
3. 致命Bug1:./shutdown.sh 失败,参考解决方法
4. 致命Bug2:Tomcat启动失败,参考解决方法
5. 实在不行,就直接私信我吧,博主要去准备找工作的事了,写不下去了。

我又来了,附上一个调试WebSocket的连接吧!直接把index.jsp的那个连接复制过了来就行了,注意是主机IP,不能使用localhost哈。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是基于传统的Tomcat、Spring MVC和WebSocket的简单示例: 1. 首先,在pom.xml文件中添加以下依赖: ```xml <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.5.RELEASE</version> </dependency> <!-- WebSocket --> <dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-websocket</artifactId> <version>9.0.30</version> </dependency> ``` 2. 接下来,创建一个WebSocket端点类,例如: ```java import javax.websocket.OnMessage; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; @ServerEndpoint("/websocket") public class MyWebSocketEndpoint { @OnMessage public void onMessage(String message, Session session) { try { session.getBasicRemote().sendText("Received: " + message); } catch (Exception e) { e.printStackTrace(); } } } ``` 在这个例子中,我们创建了一个名为`MyWebSocketEndpoint`的WebSocket端点,并将其映射到`/websocket`路径。`onMessage`方法用于处理接收到的消息并回传回去。 3. 然后,在Spring MVC控制器中,我们可以使用`WebSocketContainer`将WebSocket连接注入到请求处理方法中,例如: ```java import javax.servlet.http.HttpServletRequest; import javax.websocket.Session; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class MyController { private WebSocketContainer webSocketContainer; public MyController(WebSocketContainer webSocketContainer) { this.webSocketContainer = webSocketContainer; } @RequestMapping(value = "/websocket-test", method = RequestMethod.GET) @ResponseBody public String testWebSocket(HttpServletRequest request) { try { Session session = webSocketContainer.connectToServer(MyWebSocketEndpoint.class, request.getRequestURI()); session.getBasicRemote().sendText("Test message"); session.close(); return "Message sent"; } catch (Exception e) { e.printStackTrace(); return "Error"; } } } ``` 在这个例子中,我们注入了一个名为`webSocketContainer`的`WebSocketContainer`,并在请求处理方法中使用它来创建WebSocket连接并发送测试消息。 这就是一个简单的Tomcat、Spring MVC和WebSocket示例。它可以让你开始理解如何使用这些技术来开发WebSocket应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值