这个想法是你可以在数据库中添加一些东西,它来自浏览器 - > java代码 - > JSP - > java代码 - >数据库,然后您将被重定向到包含您发送的信息的页面。 servlet已就绪,但我无法从get请求重定向到HTML页面。
我有一个用于PrintWriter()的servlet。在一个Json对象中打印()数据,但是从HTML页面中的javascrit调用该servlet。如何发送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吗?
答案 0 :(得分:0)
如果您在Servlet中:
response.sendRedirect("pathOf YourHTMLPage");
如果您在JSP页面中,请尝试使用表单或“ a”元素。像这样:
<form action="nameOfYourServlet"></form>
或
<a href="nameOfYourServlet"></a>
答案 1 :(得分:-1)
无法真正理解您正在寻找的内容,但如果您想使用servlet将用户重定向到html页面,可以使用response.sendRedirect(“path to html”)来完成;
如果您能通过某些代码解释,因为您的英语很难理解,那就太好了。
答案 2 :(得分:-1)
response.sendRedirect("redirect.html");
替代方式
ServletContext sc = getServletContext();
sc.getRequestDispatcher("/redirect.html").forward(request, response);