我试图通过建立一个 URL 连接在我的本地机器上执行一个 JSP,但我似乎无法让它执行,我认为可能是 java 没有找到 JSP 但我似乎找不到为什么这可能是因为 JSP 的 URL 看起来不错,有人知道为什么它不执行吗?我的代码片段和 webapp 结构如下。
谢谢。
URL url = new URL("http://127.0.0.1/folder1/folder2/folder3/test.jsp");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write("id=" + id);
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String output;
StringBuilder sb = new StringBuilder();
boolean started = false;
while ((output = in.readLine()) != null) {
if (!output.trim().equals("")) {
started = true;
}
if (started) {
sb.append(output);
sb.append("\r\n");
}
}
in.close();
System.out.println(sb.toString());
我的 Webapp 具有与以下类似的结构。
webapp
/WEB-INF
/classes
web.xml
/folder1
/folder2
/folder3
test.jsp
最佳答案
我认为您可能打算执行以下操作(没有输出部分):
URL url = new URL("http://127.0.0.1/folder1/folder2/folder3/test.jsp?id=" + id);
output
使用 StringBuilder - 效率更高。
如果 text.jsp 两者都做:在表单中询问 id
,并处理表单,然后不使用:
if (request.getMethod().equals("POST")) {
String id = request.getParameter("id");
... handle given id
return;
}
... show form
但使用 GET/POST 不可知/不相关的代码:
String id = request.getParameter("id");
if (id != null) {
... handle given id
return;
}
... show form
以便您正在执行的 HTTP GET 工作。
关于java - 在java中执行JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18098208/