【问题标题】: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】:

如果“隐藏字段”指的是隐藏的表单字段,这是可能的,但似乎不是一个合理的解决方案。我还假设您使用浏览器作为客户端。

这个想法有一些问题:

  1. 您必须向发送到 .NET Web 应用程序的每个“表单”添加一个隐藏字段。对于非表单调用(如 GET 查询),您必须在 URL 中添加信息!

  2. 您需要编写相当复杂的客户端逻辑,将这些字段注入表单和/或 URL。如果您将使用例如已经可用的逻辑饼干。

  3. 安全性:每个人都可能篡改保存在隐藏字段中的数据,可能会以意想不到的方式操纵应用的行为。

我的建议:

  • 如果是小数据(如身份验证令牌),请使用 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
    

    【讨论】:

    • 谢谢,这会很完美。但不想暴露 URL 中的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    相关资源
    最近更新 更多