我必须为我的IR项目创建一个搜索引擎前端。我非常了解java,但我还没有将它用于Web应用程序。所以,我需要选择学习什么来实现我的目标。
我发现java有很多技术,例如:jsf,jsp,spring,gwt ......所以这些技术中有哪些能够满足我的需求,哪些技术可以快速学习?
编辑 我的网络应用程序应该有两个页面(第一个提交搜索查询,第二个显示搜索结果)。
答案 0 :(得分:3)
既然您了解Java而不是过多的Web应用程序框架,我会坚持使用GWT。虽然它的学习曲线确实很复杂,但实际上您可以在Eclipse中单击一下构建一个可用的默认应用程序。这足以让你开始。
接下来你需要一个搜索引擎。 Lucene是首要的Java搜索引擎应用程序,并且有详细记录。但是,它很大。您可以使用Classifier4J中的VectorClassifier更快地到达那里。这很简单,你可以在有限的时间内真正理解整个事情(如果我对这个项目进行评分,这将导致更高的分数。)
从GWT Hello World“问候”开始应用开始,您不会发送您的姓名,而是发送您的搜索字词。然后在servlet中,您将使用Classifier4J将搜索项与您的文档进行匹配,从而为您提供分数。您将在greetService RPC调用中返回分数,并在页面中显示文档标题。
答案 1 :(得分:2)
作为Java中的标准Web框架,我建议首先查看JSF。它相对容易学习,并且有很多组件可供第三方使用(例如PrimeFaces)。确保你开始使用最新版本的JSF(例如2.0或2.1),因为旧版本(1.1,1.2)有些限制。
尽管GTW有一点学习曲线,但Wicket和GWT也相当不错。然而,大多数技术都有这样的曲线,这真的不应该阻止专业开发人员。然而,这两个是替代到JSF,除了JSF之外,你不使用它们。我真的不建议使用JSP和Servlets。这些是2000年代技术的代表,这些技术在当今的发展前景中几乎没有什么位置(Servlet肯定仍然有用,但对于特殊情况,不是UI元素的主要组件)。
答案 2 :(得分:1)
我和你一样的用例。在下面我使用Lucene作为我的搜索引擎。使用IR库的好处在于简化了搜索输入屏幕。我的网页上只有一个文本字段(例如www.google.com)。
我建议您坚持使用Java EE的基本Web技术,这些技术是Servlet和JSP。您在JSP中描述UI并将其POST到Servlet,然后Servlet将使用服务层来实现应用程序逻辑。
答案 3 :(得分:1)
如果您不仅限于面向页面的方法,我建议您查看Vaadin。它基于GWT,但对Java开发人员来说更容易学习。我认为您需要的功能可以在一个或两个Java类中实现。
答案 4 :(得分:0)
我建议如果您没有Java Web应用程序开发经验,请转到Servlet / JSP模型。它简单直观。此外,JSP可以具有Java代码 GWT有点复杂,Spring也是如此。
答案 5 :(得分:0)
答案 6 :(得分:0)
Servlet(JSP)|| JSF& Elasticsearch || Solr的
是的,jsf是较新的技术,但你并不需要为这个项目提供一些大的东西..
这是一个很好的示例项目https://github.com/scrutmydocs/scrutmydocs