我正在寻找一个代码来保存在applet中创建的文件,通常是文本文件,我想将它们保存在服务器目录中,我该怎么办呢。
答案 0 :(得分:1)
以下是如何发送String
的示例。事实上,任何Object
都可以发送给这个方法,只要它是可序列化的,并且applet和servlet上都存在相同版本的Object。
从小程序发送
public void sendSomeString(String someString) { ObjectOutputStream request = null; try { URL servletURL = new URL(getCodeBase().getProtocol(), getCodeBase().getHost(), getCodeBase().getPort(), "/servletName"); // open the connection URLConnection con = servletURL.openConnection(); con.setDoOutput(true); con.setUseCaches(false); con.setRequestProperty("Content-Type", "application/octet-stream"); // send the data request = new ObjectOutputStream( new BufferedOutputStream(con.getOutputStream())); request.writeObject(someString); request.flush(); // performs the connection new ObjectInputStream(new BufferedInputStream(con.getInputStream())); } catch (Exception e) { System.err.println("" + e); } finally { if (request != null) { try { request.close(); } catch (Exception e) { System.err.println("" + e); }; } } }
要在服务器端检索
@Override public void doPost(HttpServletRequest request, HttpServletResponse response) { try { // get the input stream ObjectInputStream inputStream = new ObjectInputStream( new BufferedInputStream(request.getInputStream())); String someString = (String)inputStream.readObject(); ObjectOutputStream oos = new ObjectOutputStream( new BufferedOutputStream(response.getOutputStream())); oos.flush(); // handle someString.... } catch (SocketException e) { // ignored, occurs when connection is terminated } catch (IOException e) { // ignored, occurs when connection is terminated } catch (Exception e) { log.error("Exception", e); } }
答案 1 :(得分:0)
没人会把它放在盘子上。您必须在applet中编写代码,以便将套接字连接回服务器并发送数据。解决此问题的一种方法是通过HTTP推送数据,并使用诸如commons-httpclient之类的库。这需要您的服务器处理适当的HTTP动词。
还有很多其他选项,正确的选项将取决于您尝试解决的问题的详细信息。