-
作者:DarkKIng
-
创建日期:2019/12/17
-
作用:职责链
*/
public class Pipeline extends ChannelInitializer {
private EventExecutorGroup businessEventExecutorGroup = new DefaultEventExecutorGroup(10);
@Override
protected void initChannel(SocketChannel ch) {
ChannelPipeline pipeline = ch.pipeline();
/**
- http服务器端对response编码
*/
pipeline.addLast(“encoder”, new HttpResponseEncoder());
/**
- http服务器端对request解码3.
*/
pipeline.addLast(“decoder”, new HttpRequestDecoder());
/**
- 合并请求
*/
pipeline.addLast(“aggregator”, new HttpObjectAggregator(655300000));
/**
- 正常业务逻辑处理
*/
pipeline.addLast(businessEventExecutorGroup, new FileServerHandle());
}
}
编写职责链,请求会从入栈以次从上到下经过编解码,请求和秉承HTTPObject,最后执行业务类FileServerHandle
。
4、FileServerHandle
import io.netty.buffer.Unpooled;
import io.netty.channel.*;
import io.netty.channel.ChannelHandler.Sharable;
import io.netty.handler.codec.http.*;
import io.netty.handler.codec.http.multipart.*;
import io.netty.util.CharsetUtil;
import org.json.simple.JSONObject;
import java.io.*;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
/**
-
作者:DarkKIng