السلام عليكم ورحمة الله وبركاته
الكثير من المشاريع التي تطرح يوميا باحلام كبيرة و حماس مشتعل و اثبت الواقع فشل هذه
التجارب و لكنني انصح و بشدة المشاريع البسيطة و التي تحقق فائدة لا باس بها
ساحاول نشر مثل هذه المشاريع فهي بتراكمها مع الزمن ستحقق الفائدة الكبيرة المنشودة
لذا هذا اول مشروع بسيط سوف نعمله و الفائدة المرجوة منه جيدة ..
وصف مختصر للمشروع:
عبارة عن Beans تستخدم لنقل و حفظ الملفات و البيانات من سيرفر الى ( سيرفر آخر او
جهاز العميل )
الفوائد المتوقعة:
عندما تنتهي سوف نستطيع استخدم الحزمة مع تطبيقات الـ Servlet لكي تسهل عملية نسخ
الملفات و توفير حماية مناسبة للعميل
مثال: اتذكر طلب العديد من الاخوة في سوريا ان المواقع لا تقبلهم لانهم من بلاد معينة و هذا ما
سيحل الموضوع تقوم الحزمة بالاتصال بالسيرفر التابع للشركة المراد سحب البينات منها و من ثم
ينسخه الى السيرفر الموجود التطبيق عليه و من ثم يقوم العميل بتحميل الملف دون اي مشاكل او
ينسخه مباشرة الى جهاز العميل الذي طلب الملف.
و يمكن استخدامه مع تطبيقات سطح المكتب حيث يتصل بالسيفر و ياخذ الملفات الجديدة و يضعها
في المكان المخصص لها و يتم تحديث البرنامج.
و يوجد فوائد اخرى طبعا و هي كثيرة و لست بصدد ذكرها جميعا الآن
و انا قد طبقت هذه الفكرة فعلا منذ سنتين كخدمة من خلال موقعي الشخصي و لكن الخدمة كانت
تقتصر على تصفح المواقع المحجوبة بسبب وجودك بدولة معينة سواء من طرف الدولة او من
طرف الآخر و كانت تؤمن تصفح آمن لان الآبي كان يظهر للسيرفر و ليس للعميل الذي يستفيد فعلا
من التصفح!! طبعا الخدمة كانت لا توفر امكانية عرض الصور لسببين عدم الاستعمال الغير
اخلاقي و السبب الثاني هو لان الموضوع مبين عليه صعب و يمكن ما اعرف اعمله :)
و هذا هو الكود العجيب الذي يقوم بهذه المهمة :
<%@ page import="java.net.*" %>
<%@ page import="java.io.*" %>
<%
String url=request.getParameter("url");
URL now = new URL(url);
BufferedReader in = new
BufferedReader(
new
InputStreamReader(
now.openStream()));
String inputLine;
while ((inputLine = in.readLine())
!= null) out.println(inputLine);
in.close();
%>الكود طبعا مكتوب بصيغة JSP لان الهدف هو التصفح لذا افضل و اسهل خيار متوفر كان
استخدام JSP
========================
و هذه الطريقة نجحت نجاح جيد جدا بالنسبة للتصفح و لكن عندما احاول جلب ملفات من المخدمات
عدلت الكود السابق لكي يناسب الاهداف و الفوائد التي سبق و ذكرتها
فاصبح كالتالي :
package ws.ramy;
import java.io.*;
import java.net.*;
public class Dload
{public static String status;
public void get(String url,String fn)
{
try{
URL now= new URL(url);
String inputLine;
BufferedReader in = new
BufferedReader(new
InputStreamReader(now.openStream()));
FileWriter fw=new FileWriter("d:/"+fn);
// where to write the coming file
while ((inputLine = in.readLine()) != null)
fw.write(inputLine);
in.close();
fw.close();
}
catch (IOException e){status=
e.getMessage();}
}
}و عند التجربة ينتج ملف معطوب (ترميز مختلف )... و من وقتها لم اعد المحاولة اعتقد بان الحل بسيط و
يحتاج للنظر مرة اخرى و لكنني لا اطمح فقط لتصحيح الخطأ بل اطمح الى تحقيق الفائدة المذكورة
سابقاً
و كما قلت مشروع صغير و مفيد
بانتظار المشاركين ( نرحب في الفريق الغرضي التوجه هذه المرة ) B)