【问题标题】:Can I pass data using hidden fields between java and dot net web application?我可以使用 java 和 dot net web 应用程序之间的隐藏字段传递数据吗?
【发布时间】:2014-11-11 10:14:43
【问题描述】:
我正在努力在 Java Web 应用程序和 .Net Web 应用程序之间传递数据。
我需要将一些用户详细信息从 Java 传递到 .Net(对于每个用户)。 java web应用是一个普通的用户登录应用。
互联网搜索建议使用 cookie 或 DB 表来共享会话数据。
我可以在 java 和 dot net web 应用程序之间使用隐藏字段传递数据吗?估计没那么简单。
【问题讨论】:
标签:
java
.net
web
hidden-field
【解决方案1】:
如果“隐藏字段”指的是隐藏的表单字段,这是可能的,但似乎不是一个合理的解决方案。我还假设您使用浏览器作为客户端。
这个想法有一些问题:
您必须向发送到 .NET Web 应用程序的每个“表单”添加一个隐藏字段。对于非表单调用(如 GET 查询),您必须在 URL 中添加信息!
您需要编写相当复杂的客户端逻辑,将这些字段注入表单和/或 URL。如果您将使用例如已经可用的逻辑饼干。
安全性:每个人都可能篡改保存在隐藏字段中的数据,可能会以意想不到的方式操纵应用的行为。
我的建议:
- 如果是小数据(如身份验证令牌),请使用 cookie
- 如果要共享更多数据,请使用带有会话 ID 的 cookie,将所有其他数据保存在关联的数据库表(或框架中的会话抽象)中。
【解决方案2】:
隐藏字段是 HTML 的一部分,但隐藏字段可以与 JSP 一起使用。隐藏字段可以将隐藏数据从一个页面传送到另一个动作页面。隐藏字段的值可以从 request.getParameter 方法中获取。隐藏字段可以从 java 数据类型中设置,例如字符串、整数、浮点数。
<%@ page language="java" %>
<%
String hiddenFieldValue="MyHiddenValue";
%>
<html>
<head>
<title>Hidden fields in JSP</title>
</head>
<body>
<form name="frm" action="page2.jsp">
<input type="hidden" name="hdField" value="<%=hiddenFieldValue%>" />
<input type="text" name="txtField" />
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
获取page2.jsp中隐藏字段的值
<%@ page language="java" %>
<%
String getHiddenValue=request.getParameter("hdField");
System.out.println("Hidden field Value :"+getHiddenValue);
%>
输出
Hidden field Value :MyHiddenValue
【解决方案3】:
您可以使用 QueryString 通过 URL 将信息发送到 .net Web 应用程序。
SamplePage.aspx?info= test