概述: 我正在创建一个Swing应用程序,它具有嵌入式Web浏览器(DJ Native Swing)。此Web浏览器需要能够显示使用Java和GPG即时解密的内容。
所以,假设你有一个简单的a.html包含这样的东西:
< html >
< body >
Hello world
< img src="b.jpg">
< /body>
</ html>
处理程序首先应该看到“a.html”的请求,然后我们的处理程序 找到文件a.html.gpg(加密文件),将其转换为a.html,打开它并写入字节 以处理程序结果返回浏览器。
现在浏览器查看内容并意识到另一个请求需要 这样它就试图访问b.jpg。我们的处理程序应该看到该请求和 重复逻辑,现在发送组成b.jpg的字节作为结果。
所以我们真正想要的是拦截a.html,b.jpg的每个HTTPRequest,并且URL处理程序中的自定义代码会去解密该文件并提供浏览器应该使用的字节并呈现Web组件在页面上。
解密逻辑很精细,只需要一种截取URL的方法,让JWebBrowser能够使用解密的字节来呈现页面。
我确实看到了一个方法WebServer.addContentProvider(HTTPRequest req),但无法弄清楚如何使用它。任何用Dj Native Swing满足要求的替代方法也很受欢迎。