2

我正在探索许多技术,但我希望您能就哪个 Web 框架让这变得最简单/最有可能提供意见。我目前正在寻找 JSP/JSF/Primefaces,但我不确定这个应用程序是否有能力。

这是该应用程序的基本描述:

  1. 用户使用他们的用户名和密码登录(也许我可以以某种方式合并 OPENID)?

  2. 有了一个非常好的用户界面,他们将看到一个特定类别的大量问题列表,例如“烹饪”。(我将手动编译此列表并使其可用。)

  3. 当他们点击这些问题中的任何一个时,会在其下方打开一个小输入框,以允许用户输入链接/URL。
  4. 如果他们输入的链接在 URL 指向的网页上存在相同的问题,他们将获得一分。然后,该问题消失并被添加到具有所有正确链接问题列表的不同页面。
  5. 在屏幕的右侧,将有一个排行榜,上面有前十名的人的用户名。

这个想法相对简单 - 通过允许许多人贡献,能够编译特定问题的外部网站链接。

我知道我可以使用 Primefaces 轻松构建 UI。[B]我不确定 JSP/JSF 是否能够在某个 URL 解析 HTML 以查看它是否包含单词。[/B] 我可以通过使用 urllib 轻松地用 python 做到这一点,但我可以' t 使用 python 构建 Web GUI(非常困难)。最好的方法是什么?

任何帮助,将不胜感激!!!谢谢!

4

3 回答 3

4

最好的方法是最适合你的。如果 Python 不是你的强项,而 Java 是,那么使用 Java。如果您是 Python 专家并且对 Java 知之甚少,请使用 Python。

互联网上有如此多的资源支持如此多的平台,因此决定真正归结为最适合您的平台。

于 2011-01-02T06:25:45.757 回答
2

对于初学者,忘记 JSP/JSF。这是一个有很多问题的旧组合。请考虑 Facelets/JSF。Facelets 是当前 JSF 版本中的默认模板语言,而 JSP 仅用于向后兼容。

我不确定 JSP/JSF 是否能够在某个 URL 解析 HTML 以查看它是否包含单词。

是的,尽管实际获取数据和解析其内容将由纯 Java 代码完成。这本身与 JSF API 无关。

使用 JSF,您可以创建一个包含 UI(输入字段、按钮等)的 Facelet。然后仍然使用 JSF 将它绑定到一个所谓的支持 bean,它主要是一个普通的 Java 类,只有一个或两个 JSF 特定的注释应用于它(例如 @ManagedBean)。

当用户输入 URL 并按下某个按钮时,JSF 负责调用 Java 类(支持 bean)中的某些操作方法。在此操作方法中,您现在可以访问用户输入的 URL,然后从这里开始纯 Java 编码并结束 JSF 细节。您可以将获取 URL 并执行所需解析的代码放在单独的帮助程序类(关注点分离)中,或者直接放在支持 bean 中。这是你的选择。

顺便说一句,我们办公室有一个非常初级的程序员使用 JSF 做一些与您在这里要求的事情不同的事情,他在很短的时间内就成功地做到了。因此,这真的没那么难;)

于 2011-01-02T08:58:18.720 回答
1

没有网络技术可以满足您的需求。解析在某些 url 上找到的文档超出了构建 Web 界面的范围。

然而,Java 的每一种 Web 技术都可以让您不受限制地访问在 JVM 上运行的丰富多样(如果不是太丰富也不是太多)的库和框架集。你可以肯定地说,如果有一个库可以做某事,就会有一个 Java 版本可用。下载和解析文档所需的内容不会超过标准库中可用的内容(除非您坚持注入您的依赖项或横切您的关注点),因此使用 JSP、JSF/Primefaces 或其他方式进行项目没有问题。

既然您声称已经了解 Python,并且无论如何您都必须添加一些 HTML/CSS,我建议您尝试 Django。它非常简单,有一组 OpenID 插件可供选择,将免费为您提供管理界面(因此您可以使用第一组链接启动泵)。

于 2011-01-02T13:14:03.837 回答