博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用throw让服务器端与客户端进行数据交互[Java]
阅读量:6104 次
发布时间:2019-06-20

本文共 660 字,大约阅读时间需要 2 分钟。

  hot3.png

原文链接:http://www.javaspecialists.eu/archive/Issue129.html

今天看到play的客户端渲染方法很特别: 

/**     * Render a 200 OK application/json response     * @param jsonString The JSON string     */    protected static void renderJSON(String jsonString) {        throw new RenderJson(jsonString);    }

怎么渲染是直接抛出一个异常呢?

查了一下才发现原来是用的服务器端直接抛出“实体异常”(这种可能不能叫一场了),由客户端渲染器进行捕获再进行渲染(这种形式不知道比spring的渲染器效率是否高一点)。

这种思路好像很有意思,由于正常的异常要填充stack trace,所以手动写了一个FastRuntimeException把填充方法fillInStackTrace给覆写了。

同时,我也在stackoverflow上请教了一下:http://stackoverflow.com/questions/8500739/why-play-framework-simply-throw-a-new-render-in-controller-class

有兴趣的可以深入研究一下。

转载于:https://my.oschina.net/royaki/blog/37139

你可能感兴趣的文章
数据库的这些性能优化,你做了吗?
查看>>
某大型网站迁移总结(完结)
查看>>
mysql的innodb中事务日志(redo log)ib_logfile
查看>>
部署SSL证书后,网页内容造成页面错误提示的处理办法
查看>>
MS SQLSERVER通用存储过程分页
查看>>
60.使用Azure AI 自定义视觉服务实现物品识别Demo
查看>>
Oracle 冷备份
查看>>
jq漂亮实用的select,select选中后,显示对应内容
查看>>
C 函数sscanf()的用法
查看>>
python模块之hashlib: md5和sha算法
查看>>
linux系统安装的引导镜像制作流程分享
查看>>
解决ros建***能登录不能访问内网远程桌面的问题
查看>>
pfsense锁住自己
查看>>
vsftpd 相关总结
查看>>
bash complete -C command
查看>>
解决zabbix 3.0中1151端口不能运行问题
查看>>
售前工程师的成长---一个老员工的经验之谈
查看>>
Get到的优秀博客网址
查看>>
dubbo
查看>>
【Git入门之四】操作项目
查看>>