apache mina: mina对http协议支持
来源:互联网 发布:ios比价软件app 编辑:程序博客网 时间:2024/04/28 00:37
apache mina对http支持力度不够,apache mina作者的另外一个开源项目asynweb 也因为年久了,不在更新。
本次测试使用httpclient 来模拟http请求, 使用apache mina作为web服务器。
httpclient测试代码:
/** * This example demonstrates the recommended way of using API to make sure * the underlying connection gets released back to the connection manager. */public class ClientConnectionRelease { public final static void main(String[] args) throws Exception { HttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet("http://localhost:8080"); // Execute HTTP request System.out.println("executing request " + httpget.getURI()); HttpResponse response = httpclient.execute(httpget); System.out.println("----------------------------------------"); System.out.println(response.getStatusLine()); System.out.println("----------------------------------------"); // When HttpClient instance is no longer needed, // shut down the connection manager to ensure // immediate deallocation of all system resources httpclient.getConnectionManager().shutdown(); }}
public class HttpServer extends IoHandlerAdapter{@Overridepublic void messageReceived(IoSession session, Object message)throws Exception {if(message instanceof HttpRequestImpl){//对httprequest 解析的支持,但是支持力度不够HttpRequestImpl request =(HttpRequestImpl)message;System.out.println("****messageReceived*****"+request.toString());HttpVersion ver=HttpVersion.HTTP_1_1;HttpStatus status=HttpStatus.SUCCESS_OK;Map<String, String> headers =new HashMap<String, String>();DefaultHttpResponse response =new DefaultHttpResponse(ver,status,headers );session.write(response);//当数据写完后,才关闭通道session.close();}}public HttpServer() {IoAcceptor acceptor =new NioSocketAcceptor();//http 协议解析acceptor.getFilterChain().addFirst("httpcodec", new ProtocolCodecFilter(new HttpServerEncoder(),new HttpServerDecoder()));acceptor.setHandler(this);try {acceptor.bind(new InetSocketAddress(8080));} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {HttpServer httpServer=new HttpServer();}}
httpserver服务端打印:
****messageReceived*****HTTP REQUEST METHOD: GET
VERSION: HTTP/1.1
PATH: /
QUERY:
--- HEADER ---
connection:Keep-Alive
host:localhost
user-agent:Apache-HttpClient/4.1 (java 1.5)
--- PARAMETERS ---
messageSent:HTTP RESPONSE STATUS: SUCCESS_OK
VERSION: HTTP/1.1
--- HEADER ---
httpclient端打印:
executing request http://localhost:8080
----------------------------------------
HTTP/1.1 200 OK
----------------------------------------
apache mina 已经不在更新,依赖mina建立的项目也不更新了,apache mina 对http协议也非常差,就不在继续研究了。%>_<%
0 0
- apache mina: mina对http协议支持
- Apache Mina 自定义协议
- apache mina 自定义协议
- Apache Mina
- Apache Mina
- Apache Mina
- Apache Mina
- apache mina
- Apache Mina
- apache mina
- Apache MINA
- Apache mina
- Apache Mina
- Apache Mina
- Apache Mina
- Java - Apache Mina 自定义协议通信
- apache MINA之心跳协议运用
- apache MINA之心跳协议运用
- 虚拟主机做服务器 PHP+Android客户端+MySql数据库
- Apache的配置详解,最好的Apache配置文档。
- Mybatis 鉴别器
- Failed to load platform plugin "windows" Qt5
- Ubuntu11.04 sudo apt-get install flex无法更新的问题解决方法
- apache mina: mina对http协议支持
- 发送标准广播和有序广播,以及广播的截断
- phoneGap在iOS上支持ajax https访问
- ADT bundle和Eclipse和Android Studio有什么区别---安卓初步
- 关于iOS app微信支付Xcode配置问题
- 【大学生求职最有用证书】
- KODI ERROR
- zzulioj--1815--easy problem(暴力加技巧)
- 深入分析JavaWeb Item15 -- jsp标签