الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الاتصال بين الapplet و servlet

بدأه لارا مهدي في 3 ديسمبر 2010 · 2 رد · 622 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لقد قمت ببرمجة applet واحاول ان احصل على معلومات من السيرفر عن طريق servlet

فكيف استطيع ذلك علما اني حاولت كثيرا ولكن وصلت الى الياس

ولقد جربت اكواد كثيرة ولم افلح

وهذا احد الاكواد ولكن لم يعمل لدي وانا اريد عكس وظيفة هذا الكود ورابط الموقع الرابط الخاص بي

Sending a file from Applet to Servlet

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;


public class TestApplet extends JApplet implements ActionListener
    {

     JButton jbutton = null;
     public void init()
         {
         jbutton = new JButton("Send file");
         jbutton.addActionListener(this);
         this.getContentPane().add(jbutton);
     }

     public void actionPerformed(ActionEvent ae)
         {
         if(ae.getSource() == jbutton)
             {
             try
                 {
                 File file = new File("C:\uma.txt");

                 FileInputStream in = new FileInputStream(file);
                 byte[] buf=new byte[in.available()];
                 int bytesread = 0;


                 String toservlet = "http://localhost:8080/servlet/MyServlet";

                 URL servleturl = new URL(toservlet);
                 URLConnection servletconnection = servleturl.openConnection();
                 servletconnection.setDoInput(true);
                 servletconnection.setDoOutput(true);
                 servletconnection.setUseCaches(false);
                 servletconnection.setDefaultUseCaches(false);

                 DataOutputStream out=new DataOutputStream(servletconnection.getOutputStream());

                 while( (bytesread = in.read( buf )) > -1 )
                     {
                     out.write( buf, 0, bytesread );
                 }

                 out.flush();
                 out.close();
                 in.close();

                 DataInputStream inputFromClient = new DataInputStream(servletconnection.getInputStream());
                 //get what you want from servlet
                 //.......
                 inputFromClient.close();
             }
             catch(Exception e)
                 {
                 e.printStackTrace();
             }


         }
     }

}


import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class MyServlet extends HttpServlet
    {
     public void doPost(HttpServletRequest req,HttpServletResponse res)
         {

         ServletContext sc = this.getServletContext();
         try
             {
             String fileName = "uma.txt";
             String path = sc.getRealPath(File.separator)+fileName;

             File yourFile = new File(path);
             FileOutputStream toFile = new FileOutputStream( yourFile );
             DataInputStream fromClient = new DataInputStream( req.getInputStream() );

             byte[] buff = new byte[1024];
             int cnt = 0;
                 while( (cnt = fromClient.read( buff )) > -1 ) {
                 toFile.write( buff, 0, cnt );
             }
             toFile.flush();
             toFile.close();
             fromClient.close();

         }
         catch(Exception e)
             {
             e.printStackTrace();
         }
     }
}
#2

هل تأكدي من أن ال Servlet يعمل ؟؟

أولا قومي بإنشاء تطبيق الويب... و بعد ذلك تأكدي أن التطبيق يعمل ...

بعد ذلك قومي بتشغيل ال applet .... و إطبعي رسائل الخطأ التي تنتج عن كلا منهما كي نستطيع مساعدتك ...

#3
هويدي كتب:

هل تأكدي من أن ال Servlet يعمل ؟؟

أولا قومي بإنشاء تطبيق الويب... و بعد ذلك تأكدي أن التطبيق يعمل ...

بعد ذلك قومي بتشغيل ال applet .... و إطبعي رسائل الخطأ التي تنتج عن كلا منهما كي نستطيع مساعدتك ...

شكرا اخي كثيرا

لقد جربته ويعطي خطأ في اسم المسار علما اني اعمل مشروعي على ال netbeans

هل يجب ان يكون المشروع موجود داخل مجلد الtomcat

ولو سمحت ان تشرح لي ماذا تعني بالتفصيل

String toservlet = "http://localhost:8080/servlet/MyServlet";

لاني لا اعلم كيف سيعمل كود السيرفليت وهو غير مترجم مثلا , اي هل بمجرد تشغيل الtomcat يعمل واعذرني ان بدا السؤال

سخيفا او يلم عن عدم فهم للغة والمشروع ولكن لبساطته ربما يكون هناك اخطاء لدي

فلا اعلم كيف ساضع ملفات السيرفلت والابليت علما اني حاولت وجربت في المنتدى في قسم المواضيع المميزة هنا كيفية اتصال

الابليت والسيرفليت ولكن لم تفلح محاولاتي وشكرا لك

مواضيع مشابهة