【发布时间】:2012-08-07 15:19:25
【问题描述】:
我正在从 jsp 调用本地 servlet,servlet 只是返回一个 json 字符串:
URL url = new URL("http://myapp.appspot.com/myservlet");
URLConnection conn = url.openConnection();
conn.setConnectTimeout(5000);
InputStream is = conn.getInputStream();
StringWriter writer = new StringWriter();
IOUtils.copy(is, writer, "UTF-8");
String jsonStr = writer.toString();
我可以使用相对路径来执行此操作,以便它在本地和部署的实例上都有效吗?
【问题讨论】:
-
JSP 和 servlet 是同一个应用程序的一部分吗?如果是这样,那么您不应该对 servlet 进行 HTTP 调用。您应该重构您的代码,以便可以从 JSP 访问生成 JSON 字符串的代码。
-
@Michael 是的,它是同一个应用程序 - 在标准场景中,我会按照您的建议从 jsp 直接转到数据存储区,但是其他应用程序也已经访问了 servlet,所以我宁愿不要重复那个逻辑。我可能最终会为了性能而改变它,但我只是想知道是否有一种方法可以在不指定完整路径的情况下做到这一点:)
标签: java google-app-engine servlets urlconnection