nano云 java_轻量级的java HTTP Server——NanoHttpd

版权声明:本文为CSDN博主「luckystar2008」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qincidong/article/details/82656569

NanoHTTPD是一个免费、轻量级的(只有一个Java文件) HTTP服务器,可以很好地嵌入到Java程序中。支持 GET, POST, PUT, HEAD 和 DELETE 请求,支持文件上传,占用内存很小。

github地址:https://github.com/NanoHttpd/nanohttpd。

maven依赖:

org.nanohttpd

nanohttpd

2.2.0

官网demo:

1 packagecom.example;2

3 importjava.io.IOException;4 importjava.util.Map;5

6 importfi.iki.elonen.NanoHTTPD;7 //NOTE: If you're using NanoHTTPD >= 3.0.0 the namespace is different,8 //instead of the above import use the following:9 //import org.nanohttpd.NanoHTTPD;

10

11 public class App extendsNanoHTTPD {12

13 public App() throwsIOException {14 super(8080);15 start(NanoHTTPD.SOCKET_READ_TIMEOUT, false);16 System.out.println("\nRunning! Point your browsers to http://localhost:8080/ \n");17 }18

19 public static voidmain(String[] args) {20 try{21 newApp();22 } catch(IOException ioe) {23 System.err.println("Couldn't start server:\n" +ioe);24 }25 }26

27 @Override28 publicResponse serve(IHTTPSession session) {29 String msg = "

Hello server

\n";30 Map parms =session.getParms();31 if (parms.get("username") == null) {32 msg += "\n

Your name:

\n" + "\n";33 } else{34 msg += "

Hello, " + parms.get("username") + "!

";35 }36 return newFixedLengthResponse(msg + "\n");37 }38 }

运行App,浏览器打开http://localhost:8080/ 即可看到效果。

输入username,然后回车:

这样一个简单的登录功能就完成了。

问题:

如果form中指定action为post,你会发现后台session获取不到参数。

解决办法:

session.parseBody(new HashMap());

params = session.getParms();

意思也就是,对于post请求,你需要先调用parseBody()方法,直接传一个简单的新构造的map就行了,然后再调用getParams()方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值