java - 将java类实例从javascript(通过ajax)发送到jsp或servlet

标签 java javascript jquery jsp servlets

我正在尝试通过 ajax 将 JAVA 类实例从我的 javascript 代码发送到 JSP 文件。我怎样才能发送?我尝试像这样发送实例:

   data = {}
   data['my_instance'] = JAVA_CLASS_INSTANCE

并通过ajax发送此数据,问题是,在JSP中,它以字符串而不是类的形式接收它

顺便说一下,我得到的 java 类实例是这样的:

<script type='text/javascript'>
     var class_instance = "<%= my_class_instance %>"; //if this method is wrong, plz tell me correct method to get instance and send via ajax. Already I have a form, along with the form data, i am trying to send this class also. If there is anyother good way for this, just tell me. 
</script>

最佳答案

(下面更新)

从根本上来说,您通过 ajax 从客户端发送到服务器的内容始终是一个字符串。它只能通过服务器端进程解释它而变成其他东西。

这个问题似乎没有任何意义。除非您在客户端上使用 Java 小程序并且 LiveConnect ,您在客户端上根本没有 Java 类实例。

如果您确实在客户端上有一个 Java 类实例(例如,来自小程序),则将其发送到服务器的唯一方法是:

  1. Serialize将其转换为字节流。

  2. 将该字节流编码为字符串(Base64 或类似字符串)。

  3. 通过 ajax 将编码后的字符串发送到服务器。

  4. 在服务器上将字符串解码回字节流。

  5. 在服务器上反序列化它。

...几乎肯定会有更好的方法将信息从客户端获取到服务器。

<小时/>

您已将问题编辑为:

By the way, I am getting the java class instance like this :

<script type='text/javascript'>
     var class_instance = "<%= my_class_instance %>";
</script>

这不会在浏览器上为您提供“Java 类实例”。最好的情况是,您会得到一个包含一些信息的字符串。更有可能的是,根据 my_class_instance 服务器端变量中的内容,您将遇到 JavaScript 语法错误。 (例如,如果其中有 ' 或换行符或无效的 JavaScript 转义序列等。)

如果您认为这是一个 Java 类实例,那么在尝试编写此代码之前,您需要退后一步并研究 Web 应用程序的基础知识。

关于java - 将java类实例从javascript(通过ajax)发送到jsp或servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13190960/

相关文章:

javascript - 如何使用 CSS 自定义滑动条

javascript - 恢复功能在带有 Pixastic 的 JQuery 上不起作用

javascript - 传单不连贯地绘制瓷砖

javascript - 如何让人们将 LI 拖放到列表中的特定位置? (控制台日志问题)

javascript - 如何使用 JQuery 读取远程文件(并获得 jqXHR 可读错误)

java - 从哪个 java 版本 SHA-256 和 SHA256withRSA 支持签名 jar 文件的时间戳

java - 需要用Java写一个RESTful JSON服务

java - Java 中的参数化原始类型

java - 如何在android中杀死当前正在运行的任务

javascript - 将 JavaScript 对象合二为一