(一)基于plugin技术精简HttpServer开发:概述

1. 开发背景

开发此应用目的是为了提供轻量级的httpserver,在某些应用里,httpserver只需要提供简单的http服务,基于tomcat、apache等应用服务开发的http应用服务,由于tomcat、apache等占用较多资源,造成资源浪费。

基于这些应用出发点,开发了httpserv轻量级http服务。此服务功能是接收客户端http请求,并根据配置,调用相应插件进行处理转发,插件处理结果,由httpserv返回给调用者。

2. 如何开发插件

httpserver在接收客户端请求后,会取到两个数据,一个是url地址,其次是post提交参数。插件只需要实现函数,接收以上两个参数,处理并返回字符串即可,此字符串将原封不动传回给客户端。

以下是demo

package com.lms;

 publicclassPlugInTest {//定义的类

    public String doTest(Stringurl, String param){

        return"your request url:"+url+"\n"+

               "yourreqeust param:"+param+"\n";

    }

}

3. 配置插件

插件配置是在filter.xml文件里。如下:

<?xml version="1.0"encoding="UTF-8"?>

<filters>

    <url desc="测试" filterUrl="/web.do?fn=test"filterClass="com.lms.PlugInTest" filterFunc="doTest"/>

</filters>

filterUrl是客户端请求地址,依据此地址规则,匹配对应处理类和处理接口函数。

3. 打包发布


基于应用级的插件,通过打包工具打包后,放在app目录下,依赖包可以放在lib目录下。Meta-inf文件夹下的配置文件MANIFEST.MF是用来配置插件(应用插件和依赖包)并需要把此目录打包到httpserv.jar里。

MANIFEST.MF 配置demo

Class-Path:是httpserv需要调用执行的包,包括依赖包和插件包。

Main-Class:是程序主入口,不需要改动。


后续篇章,将陆续贴上主要代码...



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值