【问题标题】:What would be the light way to render a JSP page without an App/Web Server在没有应用程序/Web 服务器的情况下呈现 JSP 页面的简便方法是什么
【发布时间】:2010-10-11 04:46:13
【问题描述】:

首先,一些背景:

我将不得不为需要大量代码修复和测试的 JSP 编写代码。这个 JSP 将接收给定对象的结构,并根据几个规则呈现它。

我想做的是编写一个“测试服务器”,它会从固定文件中读取一些模拟数据,并将这些对象模拟到一个工厂中,供相关 JSP 使用。

目标 App Server 是 WebSphere,我想编写、更改、编写代码以测试适当的 HTML 呈现。我过去做过类似的事情,但是 JSP 部分只是调用渲染对象上的一个方法,所以我创建了一个 Ad Hoc HTTP 服务器来读取夹具文件,解析它并渲染 HTML。

我所要做的就是在 RAD 中运行它,更改 HTML 代码并按 F5。

所以问题几乎可以归结为: 是否有任何独立库或轻量级服务器(我想到了 Jetty)可以采用 JSP,并给出正确的上下文(请求、响应、会话等)呈现正确的 HTML?

【问题讨论】:

    标签: java testing jsp


    【解决方案1】:

    码头和tomcat

    不过,这些可能不够清淡,不适合您的口味。
    您会在 SO for tomcat 上找到大量用户和支持,所以这很重要。

    【讨论】:

    • Tomcat 不会削减它。我必须能够从 Java main() 启动它。码头可能会是一个替代方案。但是:那里有 JSP 渲染 API 吗?
    • Tomcat 是用 Java 编写的 - 如果不是通过 main() 方法,您认为它是如何启动的?
    • @kolrie:Tomcat 还带有一个名为 Jasper 的内置 JSP 渲染器……它肯定可以适应您的目的。 Jasper 也与 Jetty 一起使用。 Cactus(来自 ASF 的另一个)提供丰富的测试框架,类似于您所描述的需求。
    【解决方案2】:

    没有(afaik)。

    我可以建议的唯一解决方法是改用 Velocity。但是,当然,您将不得不完全放弃 jsp,这不是一个选择。

    如果您这样做了,那么您可以使用 Velocity 隔离您的测试,将结果移动到网络中。

    这是一篇关于如何将 Velocity + Ruby(或 JRuby)用于独立解决方案的文章。

    http://martinfowler.com/bliki/JRubyVelocity.html

    【讨论】:

      【解决方案3】:

      我从未使用过 JSP,但我玩过OOWeb。它绝对是轻量级的,并且遵循请求/响应模型,但是如果没有很多胶水,您将很难将它与您的 JSP 连接起来。

      列出了几个轻量级容器here。看起来Tiny Java Web Server 正在积极开发中。不幸的是,没有太多可用的文档。

      【讨论】:

      • 现在我注意到了,这些帖子大部分来自 2004 年 - 仅最后一篇来自 2007 年。根据 SourceForge 的说法,其中一个建议 (TJWS) 仍然有效,所以我会编辑那在...
      【解决方案4】:

      您需要的不仅仅是网络服务器。您必须有一个 servlet/JSP 引擎,所以没有办法解决这个问题。

      码头很轻。也许 Resin 也值得一看。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-13
        • 2015-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多