java forward 转发 传参_java ee 的图片映射到服务器


专业的SQL Server、MySQL数据库同步软件

前言:我写了一篇有关MySQL数据库中EMQX数据持久性的文章,但是由于此功能,需要EMQX

企业版只能实现,而对于像我这样的学生聚会来说,企业版的成本确实很难。因此,我找到了另一种在EMQX Official中保存数据的方法。 Webhooks官方网站示例

基本知识:

http协议和格式

Web服务器:Web项目的基本结构

Java

tomcat安装:用于Windows系统的tomcat,用于Linux系统的tomcat

开发环境:eclipse官方网站下载

认为:设备数据已上传到emqx服务器,我们需要一个Web服务器从EMQX服务器接收数据,然后将数据保存到数据库。

java forward 转发 传参_java forward 转发 传参_02

文章结构如下:

构建一个简单的Web服务器

部署Web服务器以在主机上运行

在EMQX控制台中配置规则引擎,以过滤出特定数据并通过Web钩子将其发送到Web服务器

首先在主机上安装tomcat和java jdk,这是构建Web服务器的必要环境。

在线上有许多特定的安装方法,并找到适合您的一种。这里仅介绍Web服务器的构造。

已经设置好环境的学生,请跳过此步骤

假设您已完成上述环境部署,则还需要安装eclipse,然后选择在安装程序中安装eclipse ee。这是专门为Web开发设计的开发软件。

打开Eclipse,创建一个新项目,然后选择Dynamic Web Project

java forward 转发 传参_java forward 转发 传参_03

给项目命名,目标运行时选择主机上安装的tomcat版本。如果要在云主机上安装tomcat,建议在本地计算机上安装相同版本的tomcat,以方便调试。

java forward 转发 传参_tomcat_04

下一步一直到下一步,最后,请记住检查此页面上的generate。 。 。 。 。

java forward 转发 传参_Web_05

web.xml是用于配置Web服务器的文件,而Java资源是用于放置Java文件的文件

java forward 转发 传参_java ee 的图片映射到服务器_06

在此lib文件夹中添加所需的库文件,然后将库文件导入到项目中。

库文件百度SkyDrive

链接:https://pan.baidu.com/s/1mK4Yyp6_DqBjxiW-pr0BhA

提取代码:l3rh

mysql-connector-java-5.1.28.jar:

链接:https://pan.baidu.com/s/1XPcJdrnDlmyXkKP5psF95Q

提取代码:nq3d

java forward 转发 传参_java ee 的图片映射到服务器_07

图片_ <

右键单击项目,选择属性,选择Java构建路径,单击添加jar在项目lib中找到库文件,全部添加,最后应用并关闭,导入库文件就完成了!

java forward 转发 传参_java forward 转发 传参_08

//img-blog.csdnimg.cn/20190925215550210.pngx-oss-process=图像/水印,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L80_0d alt =

接下来,编写一个Java类myhttpservlet,该类从HttpServlet继承,首先粘贴代码,有关特定逻辑,请参见代码注释

HttpServlet是实现http协议的最重要的Java类

您可以参考此博客httpservlet以获取详细说明

创建一个名为dbutil的新Java类。此类用于操作数据库。这里仅进行写操作以将数据插入数据库。可以执行其他操作,例如更新,删除和查询

如下所示在web.xml中添加内容。这里应该注意,应用程序和名称可以随意取用,主要供程序员查找。

myweb.myhttpservlet的前面是您的项目名称。后面是我们刚刚编写的myhttpservlet类。

是一个将名为app的httpservlet类映射到url的路径,/first表示当您在浏览器中键入时:http://您的Web服务器ip地址:端口号/首先,将执行myhttpservlet类中的内容。

本地部署:右键单击该项目,选择export》 war文件浏览并将其保存到要保存的位置,系统将生成一个.war文件,我们将该文件放入apache-tomcat-8.5.45文件夹)在webapps文件夹下。

远程云主机部署:使用xftp将war文件放在同一路径中,然后重新启动tomcat。

java forward 转发 传参_tomcat_09

java forward 转发 传参_tomcat_10

登录到emqx远程控制台,在规则引擎中创建新规则,规则引擎将处理满足条件的mqtt消息,然后我们将定义特定的处理操作

java forward 转发 传参_java forward 转发 传参_11

图片插入

这句话的意思是在主题为csdn的mqtt消息的内容中选择与备注,app_id和其他键相对应的值(我们需要将mqtt消息格式设置为json格式),并分配这些值到变量remark,app_id等。稍后,当我们使用post方法将数据发送到Web服务器时,数据格式也是json格式{” remark”:” killer”,” app_id”:” 37264726374″ }

java forward 转发 传参_服务器_12

插入图片

我们还可以测试,测试输出的json数据是否是我们需要的

java forward 转发 传参_服务器_13

图片

java forward 转发 传参_服务器_14

下一步是添加一个动作,这是将数据发送到Web服务器的特定操作。如果mqtt消息符合规则条件,则将触发该操作。单击”添加”,选择将数据发送到Web服务的操作,单击”新建资源”,键入webhook,请求方法为post,

java forward 转发 传参_java ee 的图片映射到服务器_15

请求url是您的Web服务器ip,端口号(tomcat的默认端口为8888,在这里我更改为8090),加上/在上面我们的web.xml中设置的第一个

发布消息将触发对myhttpservlet类中的dopost方法的调用。

测试连接可用后,单击”新建”,最后创建规则

java forward 转发 传参_java ee 的图片映射到服务器_16

java forward 转发 传参_服务器_17

然后转到您的数据库以查看是否存储了数据。