实现轻量级的Java Web浏览器

时间:2011-03-07 18:55:54

标签: java swing

这是我关于Stack Overflow的第一个问题,所以如果形式不好,请原谅并纠正我!

正如标题所暗示的那样,我正在尝试用Java实现一个轻量级的Web浏览器,但是我遇到了一个问题,但在我进入细节之前,我将简要介绍一下我的实现:

  

该计划包括以下课程:
  GUI(扩展JFrame实现HyperlinkListener):图形用户界面
  发动机:是否所有实际工作
  BlackListPolicy(实现CookiePolicy)

我正在使用JEditorPane,其内容设置为“text / html”以显示网页   每当单击“GO”按钮或链接时,Engine会获取一个URL,然后获取JEditorPane.setPage(URL)

所以这让我想到了问题的第一部分:
浏览器正在运行,但只显示简单的html页面 如果我去谷歌例如如果我点击它工作的链接,它会记住我的设置(Cookies) 但如果按“Google搜索”按钮没有任何反应,则不显示任何嵌入对象(Flash,小程序等),其他页面也未正确编码

我的理论是,JEditorPane无法显示此类对象,也不是Web浏览器的不错选择,或者我为其设置了错误的内容类型。

关于我的问题的第二部分:
作为cookieHandler,我正在做以下事情:

  

BlackListPolicy blackListPolicy = new BlackListPolicy();
  CookieManager cookieManager = new CookieManager(null,blackListPolicy);

因此我使用默认的CookieStore,这是我有限的理解使用内部实现来存储Cookie(它们不是持久的)这就是我想要的 但是,如果有人继续我称之为“极端浏览会话”,存储过多的cookie会导致任何性能或内存问题,或者默认的CookieStore会处理这种情况吗?

在你问之前,是的,我是学生,但这不是一个家庭作业,甚至是与我目前的编程课程相关的东西,这是我想要实现的东西,因为我注意到学习编程的最好方法是写程序
我只需要抽象答案可能会有一个链接可以让我朝着正确的方向发送,如果您希望我发布我的代码,我很乐意这样做

〜感谢

2 个答案:

答案 0 :(得分:4)

JEditorPane上的设置没有错误,因为它只支持一小部分HTML。如果你想要更好的东西,你将不得不自己构建一个完整的浏览器,这绝对不是一个小项目。

答案 1 :(得分:1)

我知道这是一篇旧帖子,但是,您是否考虑过使用HTMLUnit?

这有点复杂,但我认为这正是您所寻找的 - 一个完全基于Java的浏览器库,具有完整的JS支持。

http://htmlunit.sourceforge.net/

相关问题