【问题标题】:Starting a Servlet from a java class like from HTML code从 Java 类(如 HTML 代码)启动 Servlet
【发布时间】:2010-08-27 17:21:44
【问题描述】:

我想做的是从 java 类运行一个简单的 Servlet。

实际上,我有一个 Servlet1,它是从 html 代码通过 post 操作启动的。该 servlet 输出一些其他 html 页面,但也调用 Java 类。我现在尝试做的是启动一个 Servlet2,它从那个 java 类输出 html 代码。我做到了:

URL url = new URL("http://localhost:8080/WebApplication/Servlet2");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);

但是即使我在 proccessRequest 方法中输出了一些 html 代码,servlet2 也没有在浏览器中打开。

Servlet2 没有收到请求吗?我哪里出错了或者我错过了什么?

亲切的问候,阿德里安娜

【问题讨论】:

  • 你打算在这里做什么?两个 servlet 是否在同一个容器中运行?你可以访问他们的来源吗?
  • 非常非常混乱。你能分享 servlet 完整的代码吗?如果已经尝试过?

标签: java servlets


【解决方案1】:

您的问题含糊不清,功能需求不明确,所以我无法详细回答如何实现特定的功能需求。

但至少,下面这句话有点奇怪:

但是 servlet2 没有在浏览器中打开

该特定代码不可能在某些网络浏览器中打开提到的 URL。该 Java 代码绝不会与本地机器上任何已安装的网络浏览器进行交互。如果您的唯一目的是在本地机器的默认网络浏览器(例如 Firefox、MSIE 等)中打开特定 URL,那么您宁愿需要 Desktop#browse()。例如

Desktop.getDesktop().browse(new URI("http://google.com"));

如果这也不是您想要的,那我不知道。我所能建议的就是让自己通过this topic 学习如何使用Java 代码以编程方式触发和处理HTTP 请求。可能您正在监视网络服务器的日志文件以查看是否请求了 servlet。这只会在URLConnection 实际触发请求时发生。仅调用 openConnection() 不会这样做。

【讨论】:

  • 干杯!别客气。如果它有助于解决问题,请不要忘记将答案标记为已接受 :) 另请参阅stackoverflow.com/faq
猜你喜欢
  • 2016-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-03
  • 2011-03-25
  • 1970-01-01
相关资源
最近更新 更多