hi nginx java_作为servlet容器的hi-nginx-java

packagehi;importhi.servlet;importhi.route;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.HashMap;importjava.util.regex.Matcher;public class jdemo implementshi.servlet {private static hi.route r =hi.route.get_instance();publicjdemo() {

jdemo.r.get("^/(hello|test)/?$", (hi.request req, hi.response res, Matcher m) ->{this.do_hello(req, res);

});

jdemo.r.get("^/error/?$", (hi.request req, hi.response res, Matcher m) ->{this.do_error(req, res);

});

jdemo.r.get("^/redirect/?$", (hi.request req, hi.response res, Matcher m) ->{this.do_redirect(req, res);

});

jdemo.r.add(new ArrayList(Arrays.asList("GET", "POST")), "^/form/?$",

(hi.request req, hi.response res, Matcher m)->{this.do_form(req, res);

});

jdemo.r.get("^/session/?$", (hi.request req, hi.response res, Matcher m) ->{this.do_session(req, res);

});

jdemo.r.get("^/md5/?$", (hi.request req, hi.response res, Matcher m) ->{this.do_md5(req, res);

});

}public voidhandler(hi.request req, hi.response res) {

jdemo.r.run(req, res);

}private voiddo_hello(hi.request req, hi.response res) {

res.headers.get("Content-Type").set(0, "text/plain;charset=UTF-8");

res.status= 200;

res.content= "hello,world";

}private voiddo_error(hi.request req, hi.response res) {

res.headers.get("Content-Type").set(0, "text/plain;charset=UTF-8");

res.status= 404;

res.content= "404 Not found";

}private voiddo_redirect(hi.request req, hi.response res) {

res.status= 302;

ArrayList h = new ArrayList();

h.add("/hello.java");

res.headers.put("Location", h);

}private voiddo_form(hi.request req, hi.response res) {

res.headers.get("Content-Type").set(0, "text/plain;charset=UTF-8");

res.status= 200;

StringBuilder buffer= newStringBuilder();

buffer.append("head data " + req.headers.size() + "\n");

buffer.append(this.do_foreach(req.headers));

buffer.append("\ncookie data " + req.cookies.size() + "\n");

buffer.append(this.do_foreach(req.cookies));

buffer.append("\nform data " + req.form.size() + "\n");

buffer.append(this.do_foreach(req.form));

buffer.append(String.format("\nclient= %s\nmethod= %s\nuser_agent= %s\nuri= %s\nparam= %s\n", req.client,

req.method, req.user_agent, req.uri, req.param));

res.content=buffer.toString();

}private voiddo_session(hi.request req, hi.response res) {

res.headers.get("Content-Type").set(0, "text/plain;charset=UTF-8");

res.status= 200;

String key= "test";int value = 0;if(req.session.containsKey(key)) {

value= Integer.parseInt(req.session.get(key)) + 1;

}

res.session.put(key, String.valueOf(value));

res.content= String.format("hello,%d", value);

res.status= 200;

}private voiddo_md5(hi.request req, hi.response res) {

res.headers.get("Content-Type").set(0, "text/plain;charset=UTF-8");

String plaintext= "hello,md5!";

res.status= 200;

res.content= String.format("%s\nmd5= %s", plaintext, this.md5(plaintext));

}privateString md5(String str) {try{

java.security.MessageDigest md= java.security.MessageDigest.getInstance("MD5");byte[] array =md.digest(str.getBytes());

StringBuffer sb= newStringBuffer();for (int i = 0; i < array.length; ++i) {

sb.append(Integer.toHexString((array[i]& 0xFF) | 0x100).substring(1, 3));

}returnsb.toString();

}catch(java.security.NoSuchAlgorithmException e) {

}return null;

}private String do_foreach(HashMapm) {

StringBuffer buffer= newStringBuffer();for (HashMap.Entryitem : m.entrySet()) {

buffer.append(String.format("%s\t=\t%s\n", item.getKey(), item.getValue()));

}returnbuffer.toString();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值