如何使用prolog创建相同的功能(hsp输入到jsp)

时间:2018-04-13 15:27:45

标签: jsp prolog

我正在做的程序使用prolog与HTML集成,目前坚持理解prolog中的HTTPSESSION,并希望创建与下面的JSP相同的功能。

来自用户的HTML输入:

`<form action="page2.jsp" method="post">
    <label>Name:</label>
    <input type="text" name="patientname" placeholder="Name">
    <input type="submit" value="Next">
</form>`

JSP从HTML获取输入:

`<%
String name = request.getParameter("patientname");
 session.setAttribute("patientname", name);
%>`
任何人都可以帮忙吗?我已经看过http://www.swi-prolog.org/pldoc/man?section=httpsession,但仍然无法理解如何在prolog中实现代码。

1 个答案:

答案 0 :(得分:0)

会话对象特定于JavaServer Pages 规范版本2.0,它具有以下API:

  

公共抽象javax.servlet.http.HttpSession getSession()
  会话对象的当前值(一个HttpSession)。
  返回:此PageContext的HttpSession或为空

只要您不使用实现JSP API的容器,一切都可能会有所不同。 SWI-Prolog提供了自己的容器API,会话数据似乎保存在以下位置:

:- dynamic session_data/2.

您可以通过http_session_XXX谓词进行访问和修改。一种替代方法是使用基于Java的Prolog并直接在实现JSP API的容器中运行,例如Tomcat。

后一种方法的优点是您可以自由地混合Java和Prolog。意味着您仍然可以在JSP中编写动态页面,然后在此处使用Prolog完成某些任务。

例如,在Jekejeke Prolog中可能有更高版本,请参见本教程,其中显示了如何开发在Tomcat内运行并同时使用Java和Prolog的Forms JSP应用程序:

Jekejeke Prolog-Servlet部署
http://www.jekejeke.ch/idatab/doclet/prod/en/docs/05_run/15_stdy/08_deploy/07_servlet/package.html