Jsp 在没有会话的情况下传递两个或多个值

Jsp 在没有会话的情况下传递两个或多个值,jsp,servlets,Jsp,Servlets,如何在不使用会话的情况下将两个或多个值从一个JSP页面发送到另一个JSP页面或servlet?我不熟悉JSP,所以请提出一些建议?当您想要在多个请求之间进行通信时,需要一个会话。它可以存储多个请求的数据,并确定它们来自同一个客户端 如果您直接从一个jsp传递到另一个jsp,那么您甚至不需要像会话这样的机制。您可以使用简单的请求和响应对象来完成。例如,如果您有一个带有参数username和password的表单,那么您可以使用 String username = request.getParame

如何在不使用会话的情况下将两个或多个值从一个JSP页面发送到另一个JSP页面或servlet?我不熟悉JSP,所以请提出一些建议?

当您想要在多个请求之间进行通信时,需要一个会话。它可以存储多个请求的数据,并确定它们来自同一个客户端

如果您直接从一个jsp传递到另一个jsp,那么您甚至不需要像会话这样的机制。您可以使用简单的
请求
响应
对象来完成。例如,如果您有一个带有参数
username
password
的表单,那么您可以使用

String username = request.getParameter("username");
其中
request
HttpServletRequest
对象。 如果希望一个页面转发到包含参数的另一个页面,则可以使用dispatcher

RequestDispatcher rd = request.getRequestDispatcher("someJSP.jsp");
rd.forward(request,response);

您可以使用标准标记库向第二个jsp添加所有必需的参数。因此,您基本上导入库,创建一个具有所需链接的变量,最后创建一种允许用户执行它的方法。可能是这样的:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
...
<c:url value="anotherPage.jsp" var="url">
  <c:param name="param1" value="${'parameter1'}"/>
  <c:param name="param2" value="${'parameter2'}"/>
</c:url>

<a href=${url}>this is my link</a>

希望这有助于在不使用会话的情况下使用查询字符串或使用RequestDispatcher

我不明白您为什么不使用会话。但我知道你还有4种方式:

  • 使用get参数:例如,您有一个指向第二个jsp文件的链接。在链接末尾添加参数。像这样:
    mysite.com/second.jsp?param1=value1¶m2=value2

  • 在第一个JSP页面中使用表单,在此使用隐藏输入:





  • 使用应用程序变量,但如果您的数据对所有人都是通用的,或者使用speciall param name存储您的值。例如,您可以使用:

  • 在代码中使用RequestDispatcher。并在请求对象而不是会话中设置参数


请仔细说明您可以在不同的状态下相互使用。例如,在向用户发送任何结果之前转发请求时,可以使用RequestDispatcher。在下一次使用请求的第二页中,当您将当前数据返回给您时,使用其他方法。

获取参数如何?您可以使用请求对象即时会话。设置参数(“id”、“值”);然后您可以通过getparameter(“id”)获得它;假设我有两个jsp页面——1.jsp和2.jsp。在1.jsp中单击按钮调用2.jsp,其中来自1.jsp的数据存储在数据库中。存储之后,我需要再次调用1.jsp并显示更新的数据库。现在,我如何跟踪插入的行。然后,您的链接将被重写为:anotherPage.jsp?param1=Parameter1¶m2=parameter2yean谢谢。你给了我新的想法,为我的项目的进一步的一部分。一旦你掌握了所有这些东西,你可以考虑使用框架,为你做所有的胶水。例如:jsf2、struts2
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
  String operation = req.getParameter("operation");
  if ("READ_ALL") {
    readDataFromDb(req, res);
  }
  if ("INSERT_RECORD") {
    insertRecordIntoDb(req, res);
  }
}