Web 容器外部的 JSP

发布于 2024-09-07 03:08:47 字数 359 浏览 8 评论 0原文

我正在启动一个包含许多“文件”的项目(如 Web 服务器 .html 或 jsp 文件)。例如,每个文件都将嵌入“JSP”;

你好<%="John Doe"%>

然后我想通过“JSP 编译器”以编程方式发送该文件,然后获取输出文件。

我查看了 Tomcats JSPServlet,并陷入了死胡同,因为似乎不可能从代码中获取 Servlet 对象。我还下载了 Tomcat 中的 Apache Jasper 代码,以了解 JSPServlet 正在做什么,但这似乎是一条漫长的道路。

有人有什么建议或想法吗?

我知道 JSP 是面向网络的,但这对我有用。

I am starting a project that will have many "files" (like a web servers .html or jsp files). Each of these files will have "JSP" embedded in the files, for example;

Hello <%="John Doe" %>

I would then like to programatically send this file through a "JSP Compiler" and then get the output file.

I have looked at the Tomcats JSPServlet and came to a dead end as it does not seem possible to get to the Servlet object from code. I have also downloaded the Apache Jasper code which is in Tomcat to figure out what JSPServlet is doing but this seems like the long route.

Does anyone have any suggestions or ideas?

I know JSP is web orientated but that will work for me.

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

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

发布评论

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

评论(4

我不吻晚风 2024-09-14 03:08:47

为了回答我自己的问题:)

我创建了实现 tomcat 的 Connector 接口的类,这使我能够使用 Tomcat 提供的所有内容,但具有我自己的入口点。

To answer my own question :)

I created classes that implement tomcat's Connector interface, which allowed me to use everything that Tomcat offers but with my own entry point.

花开浅夏 2024-09-14 03:08:47

那是一条漫长的路。您是否正在寻找使用模板生成文件的方法?在这种情况下,Velocity 或 Freemarker 可能是更好的途径。特别是如果你不想生成 html。

That is the long route. Are you looking for a way to generate files using a template? Velocity or Freemarker might be a better route in this case. especially if you don't want html generated.

べ繥欢鉨o。 2024-09-14 03:08:47

你只是想得到它的输出?最简单的方法是安装 servlet 容器,部署 web 应用程序并使用 URL#openStream() 获取它的 InputStream

InputStream response = new URL("http://localhost/context/page.jsp").openStream();

You just want to get its output? Easiest way is to just install a servletcontainer, deploy the webapp and use URL#openStream() to get an InputStream of it.

InputStream response = new URL("http://localhost/context/page.jsp").openStream();
过期情话 2024-09-14 03:08:47

Tomcat 将为 Web 应用程序编译 JSP 文件,并将其放置在每个 Web 应用程序的特殊文件夹中。

您可以做的是编写一个脚本来定期转储用户发送的 jsp 文件到 Tomcat webapps 目录中的Whatever.war 目录中。

这样 Tomcat 将自动编译 JSP 并为您提供输出 HttpServlet 代码,

然后您可以检查 Tomcat 日志以了解每个 JSP 文件的任何编译异常。

请查看 Ant 中有关执行此操作的文章 使用 Jasper 编译器并来自 Apache 网站

Tomcat will compile the JSP files for a web-app and place it in a special folder for each web-app.

What you can do is write a script to periodically dump jsp files sent by users inside a Whatever.war directory inside your Tomcat webapps directory.

That way Tomcat will automatically compile the JSP's and give you the output HttpServlet code,

You can then check the Tomcat logs for any compile exceptions for each of those JSP files.

Check out this article about doing it from Ant using the Jasper compiler and from Apache Web Site.

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