package com.example.mina.server.httpdemo; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IoSession; import org.apache.mina.http.api.*; import java.net.URLDecoder; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; /** * @author 杜云山 * @date 21/03/23 */ public class HttpServerHandle extends IoHandlerAdapter { @Override public void exceptionCaught(IoSession session, Throwable cause) { cause.printStackTrace(); } @Override public void messageReceived(IoSession session, Object message) throws Exception { if (message instanceof HttpRequest) { // 请求,解码器将请求转换成HttpRequest对象 HttpRequest request = (HttpRequest) message; // 获取请求参数 String name = request.getParameter("name"); if (name == null) { name = "World"; } name = URLDecoder.decode(name, "UTF-8"); // 响应HTML String responseHtml = "
Hello, " + name + ""; byte[] responseBytes = responseHtml.getBytes(StandardCharsets.UTF_8); int contentLength = responseBytes.length; // 构造HttpResponse对象,HttpResponse只包含响应的status line和header部分 Map