hutool的SimpleServer使用介绍


前言

项目是基于javaFX的PC桌面项目,使用maven进行项目构建及依赖管理。因为需要对外发布web服务进行数据交换所以需要支持web服务。且项目正好使用了hutool工具,所以尝试使用它的SimpleServer功能。项目主要使用了GET,POST服务请求及文件服务器功能。


一、SimpleServer是什么?

SimpleServer是hutool对jdk自带服务器简单轻量封装的web服务器,可以支持Get和Post请求,特别适用javase项目对外提供简单的web服务。极大的降低了系统开发的难度。

二、使用步骤

1.引入maven库

	<dependency>
           <groupId>cn.hutool</groupId>
           <artifactId>hutool-all</artifactId>
           <version>5.5.0</version>
    </dependency>

2.文件服务器功能

将D盘simple_server目录作为文件服务器根目录。对外提供文件服务可以通过http://ip:8082/文件名下载文件。

 SimpleServer server = HttpUtil.createServer(8082);
 String filePath = "D:/simple_server";
 server.setRoot(filePath);

3.GET服务

 server.addAction("/content", (request, response) -> {
            try {
                setCros(response);
                String content = "需要返回的数据";
                response.write(content, ContentType.JSON.toString());
            } catch (Exception ex) {
                System.out.println(ex.getCause());
            }
}

4.POST服务

后端接收idList参数

 server.addAction("/download",
                (request, response) -> {
                    System.out.println("params:"+request.getParams());
                    List<String> idList = request.getParams().get("idList");
                    System.out.println("idList:"+idList);
                   ……
                }
        );

前端发送post请求

 ids = '1,2,3'
 $.ajax({
        url: urlPre + '/download',
        type: 'POST',
        data: {
        'idList': ids
        },
        dateType: "json",
        contentType: "application/json",
        success: function (data) {
        ……
        }
    });

5.解决跨域问题

如果使用多个域提供的数据可能存在跨域问题。以下是后端解决跨域问题的思路。

private static void setCros(HttpServerResponse response) {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "*");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Authorization,token, content-type");
        response.setHeader("Access-Control-Allow-Credentials","true");
    }

总结

以上就是今天要讲的内容,本文仅仅是记录自己使用SimpleServer中踩得坑,由于这方面资料不多所以记录一下,如有错误请指正。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NewTech精选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值