@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
Center center = ApplicationContextHelper.getBean(Constant.CENTERS_BEAN_NAME, Centers.class)
.getCenterBySessionId(req.getParameter("sessionId"));
ServletOutputStream out = resp.getOutputStream();
try {
// hex to bytes
byte[] bytes = CoderUtils.hexStringToByteArray(req.getParameter("data"));
// 解密
String text = new String(RsaUtils.decryptByPublicKey(bytes, center.getPublicKey()));
// 通过name选取方法并调用
Object result = invokeMethodByName(req.getParameter("name"), text);
byte[] respData = JSON.toJSONString(result).getBytes("utf-8");
if (respData.length > center.getLength() - Constant.RSA_RESERVED_LENGTH) {
throw new Exception("response data is too big");
}
// 返回加密
respData = RsaUtils.encryptByPublicKey(respData, center.getPublicKey());
out.write(respData);
} catch (Exception e) {
e.printStackTrace();
out.write(500);
} finally {
out.close();
}
}
HermesServlet.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:hermes-java
作者:
评论列表
文章目录