哪种技术具有更好的前端(视图)渲染能力和后端的Java-servlet?

发布于 2024-10-20 03:40:09 字数 222 浏览 0 评论 0原文

我正在尝试创建一个网站,一种搜索引擎。 在后端,我有处理请求并返回响应的 Java servlet。

我不确定前端应该使用什么,这样我才能保持后端和前端完全(或尽可能)解耦。此外,其中哪一个(或其他某个)具有最多的功能。 几个选项是:

  • Freemarker 模板
  • JSP
  • PHP

请帮助我;我该如何继续这个想法?

I am trying to create a website, kind of a search engine.
In the back-end I have Java servlets which process requests and return responses.

I am not sure what I should use for front-end, so that I can keep the back-end and the front-end completely (or as much as possible) de-coupled. Also, which one of these (or some other) has the most capabilities.
Few options are:

  • Freemarker templates
  • JSP
  • PHP

Please help me; how can I proceed with this idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

原谅我要高飞 2024-10-27 03:40:09

Servlet API 并不提供与 PHP 无缝集成作为视图技术。在 PHP 中,您需要使用 curl 和 consorts 调用对 servlet 的 HTTP 请求,或者将 servlet 作为 Web 服务提供,并使用 JS/Ajax 在生成的 PHP 输出中获取结果。这可能会不必要地变得过于笨拙和昂贵。

使用基于 Java 的视图或模板技术。 JSP 是完美的套装,因为它与 Servlet 齐头并进。您只需将搜索结果存储为请求属性,将请求转发到 JSP,然后在 JSP 中使用 taglibs/EL 来呈现它。

如果您需要更多模板功能,例如,在 HTML 输出或某些电子邮件中重复使用相同的模板,或者出于您希望以编程方式生成输出而不需要 HTTP 请求的任何目的,那么 Freemarker 是更好的选择。

另请参阅:

The servlet API does not out the box offer seamless integration with PHP as view technology. You would in PHP need to invoke HTTP requests to the servlet using curl and consorts or to provide the servlet as a webservice and use JS/Ajax to get results from it in the generated PHP output. That's may unnecessarily end up to be too clumsy and expensive.

Use a Java based view or template technology. JSP is a perfect suit since it goes hand in hand with Servlets. You just store the search results as a request attribute, forward the request to the JSP and then use taglibs/EL in the JSP to present it.

If you want more templating capabilities, e.g. reusing the same template for both HTML output or in some email message or for whatever purpose you'd like to generate the output programmatically without the need for a HTTP request, then Freemarker is a better choice.

See also:

剩余の解释 2024-10-27 03:40:09

JSP 是 servlet,因此如果未正确完成开发,则可以轻松耦合,并确保 JSP 只保留为视图。

PHP 必须完全解耦,因为它是一种独立的语言。

Freemarker 模板 - 我从未使用过该产品,所以我无法推荐任何东西。

另一种选择是使用 JavaScript/HTML 进行视图。 Servlet 可以提供数据,JavaScript 可以在客户端运行并创建视图。

当然,您的任何选择都将发挥作用,这取决于您所使用的技术经验以及您的时间范围。如果您的时间很短并且已经熟悉 Java 和 servlet,那么您离使用 JSP 呈现前端视图就不远了。尽管我更喜欢使用 Jax-RS 的 servlet 后端将数据作为 JSON 提供给 JavaScript 前端视图。

JSP's are servlets so development is can be easily coupled if not done properly and ensuring the JSP's only stay as the views.

PHP would have to be entirly de-coupled as it is a seperate language.

Freemarker templates - I have never used this product so I can't recommend anything.

Another option would be using JavaScript/HTML for your view. Servlets could serve up the data and JavaScript could run on the client side and create the view.

Of course any of your options will function it comes down to what technology you are experienced with and what is your timeframe. If you are on a short timeframe and are already familar with Java and servlets then you are not far off from just using JSP to render your front-end view. Although my preference is for servlet back-end using Jax-RS to serve the data as JSON to a JavaScript front-end view.

一个人的夜不怕黑 2024-10-27 03:40:09

在 Java 中创建动态网页的常用方法是在服务器上安装 servlet,该 servlet 创建发送到浏览器的 html。 JSP 和 Freemarker 模板等技术被设计为 servlet 的增强功能,使创建 html 变得更加容易。当您部署 JSP 页面时,它们将被编译为纯 servlet。

如果您想将创建 html 的技术与您创建的 servlet 完全分离,那么我会选择静态 html 和 ajax。您可以这样创建您的系统:

  1. 使用 javascript 创建静态 html 页面。使用像 jquery 这样的 javascript 库。

  2. 创建您的 servlet,以便它们接受参数并使用 json 格式的数据进行响应。

  3. 在 html 页面中编写 Javascript,将查询发送到 servlet 并根据响应修改 html 代码。

The usual way to create dynamic web pages in Java is to have servlets on the server that creates html that is sent to the browser. Technologies like JSP and Freemarker templates is designed as enhancements to servlets that makes it easier to create the html. JSP pages will i.e. be compiled to pure servlets when you deploy them.

If you want to decouple the technology that creates the html totally from the servlets you have created, then I would go for static html and ajax. You would create your system this way:

  1. Create static html pages with javascript. Use a javascript library like jquery.

  2. Create your servlets so that they accept parameters and respond using json-formatted data.

  3. Write Javascript in your html-pages that send queries to the servlets and modifies the html-code based on the response.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文