java - 通过 dataInputStream 将一些值从 servlet 传递到 applet

标签 java servlets applet communication

我有一个 servlet,我想将一些值从该 servlet 传递到小程序。

流程是这样的

  1. 调用 servlet 的小程序
  2. servlet 向 applet 提供了一些值
  3. 小程序从 servlet 检索值。

这是我的小程序代码:

public void start() {
  URL url = new URL(getCodeBase(), getParameter("URL"));
  System.out.println("opening url : " + url);
  URLConnection con = url.openConnection();
  con.setDoInput(true);

  DataInputStream obIn = new DataInputStream(con.getInputStream());
  System.out.println("dataInputStream : " + obIn);
System.out.println("servlet Values : " + obIn.readInt());
}

applet.html 获取的 URL 值

这是我的servlet 代码:

public void service(HttpServletRequest req, HttpServletResponse res) throws IOException,ServletException {
     DataOutputStream dos = new DataOutputStream(res.getOutputStream());
     dos.writeInt(100);
     dos.close();
   }

我在java控制台中发现的结果是这样的

dataInputStream : java.io.DataInputStream@9abc69
servlet Values : 1010792557

我已经在 web.xml 中编写了 servlet 名称,如下所示

<servlet-mapping>
        <servlet-name>MyApplet</servlet-name>
        <url-pattern>/MyApplet</url-pattern>
</servlet-mapping>

这件事让我很紧张,为什么 applet 无法从 servlet 接收值?

我的代码有什么问题吗?或者是我缺少的配置?

现在我使用 Spring、jsf 和 tomcat 7.0.20

非常感谢您的帮助。

问候

阿尔伯特.

最佳答案

解决了,

原因是

tomcat 7 默认使用 HttpOnly session cookie(这些在 Tomcat 5.5 和 6 中可用,但默认情况下处于关闭状态)。这会导致浏览器中的 Java 插件出现问题,该插件无法获取 session ID cookie 并将其传递给小程序代码。

我在此链接中找到了答案 Issues with Tomcat 7

关于java - 通过 dataInputStream 将一些值从 servlet 传递到 applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27479374/

相关文章:

java - TopCoder 无法安装 java applet Arena?操作系统

java - 集合 sort(List<T>,Comparator<? super T>) 方法示例

Java 小服务程序 : RequestDispatcher doesn't work doesn't redirect paths

java - 如何从 HttpServletResponse 获取 HTML 内容?

mysql - 在我使用数据库进行 servlet 编程时,它没有给出任何输出,但在没有 JDBC 或数据库的情况下,它可以正确运行。我该如何修复它?

java - 如何从小程序连接到SQL数据库

java - 在项目中包含 JNA 代码 - 编译错误

java - 无法使用 REST 架构和 Angular JS 在 Spring Boot 中映射新 url,并且发布请求未接收对象字段值

java - org.hibernate.exception.ConstraintViolationException : Could not execute JDBC batch update [Due to Unique Constraint]

java - 在处理中创建第二个小程序(窗口)