-1

这个想法是您可以向数据库添加一些内容,该数据库从浏览器 -> java 代码 -> JSP -> java 代码 -> 数据库开始,然后您将被重定向到包含您发送的信息的页面。servlet 已就位,但我无法从 get 请求重定向到 HTML 页面。

我有一个 servlet 来 PrintWriter().print() Json 对象中的数据,但是该 servlet 是从 HTML 页面中的 javascrit 调用的。如何发送 HTML 页面?我应该每行解析 HTML 页面和 PrintWriter().print() 吗?有没有更合适的方法来做到这一点?

请记住,直接从 JSP 发送 HTML 不是一种选择,而且我无法更改系统的结构。

编辑:对不起,我匆忙输入了。

作为前言,该系统类似于 StackOverflow,您可以提交一个“请求”,提示社区众包学习材料。

目前,系统的结构是浏览器端的 JS/HTML,通过 Java 编写的 API 与 mySQL DB 进行通信。API 通过 JSP 与内部 Java API 通信以访问数据库。问题是我必须从 API 返回 Json 对象。我知道 JSP 本质上是无用的,我可以在没有 JSP 的情况下连接这两个 API,但这是大学一年级的项目,所以我别无选择。

当您使用 url /addrequest(或类似的)向数据库提交内容时,系统会将文本放入数据库,然后将您重定向到 /request/idnumber。当您访问 /request/* URL 时,另一个 servlet 运行。我希望这个 servlet 告诉浏览器打开我的“request_display.html”页面。然后那个页面的javascript会调用另一个url通过API获取Json对象,然后构建页面。

我不知道如何告诉浏览器打开一个 html 页面。我应该只解析 html 文件然后使用 response.GetWriter().print() 来发送 HTML 吗?

4

3 回答 3

0

如果您在 Servlet 中:

response.sendRedirect("pathOf YourHTMLPage");

如果您在 JSP 页面中,请尝试使用表单或“a”元素。像这样:

<form action="nameOfYourServlet"></form>

或者

<a href="nameOfYourServlet"></a>
于 2018-06-28T11:57:22.757 回答
-1

无法真正理解您在寻找什么,但如果您想使用 servlet 将用户重定向到 html 页面,可以使用 response.sendRedirect("path to html");

如果您可以通过一些代码进行解释,那就太好了,因为您的英语很难理解。

于 2013-11-05T15:00:51.600 回答
-1
response.sendRedirect("redirect.html");

替代方式

ServletContext sc = getServletContext();
sc.getRequestDispatcher("/redirect.html").forward(request, response);
于 2017-09-26T17:23:46.550 回答