ورود

View Full Version : 2 سوال jsp



mojtaba_java
سه شنبه 21 اسفند 1386, 16:05 عصر
با سلام خدمت همه
اولین سوال : میخواستم بدونم آیا می توان سورس های نوشته شده توسط جاوا یا jsp را کد کرد که کسی سورس برنامه ما را نتواند بردارد. اگر هست نام برنامه و یا لینک آن را ذکر کنید.
دومین سوال : برای گزارش گیری برای عملیات هر کاربر چه باید کرد ؟ یعنی کاربری وارد شد در دیتا ساعت ورود و کار آن را مثلا حذف و اضافه کردن آن را گزارش بگیرد

persianshadow
سه شنبه 21 اسفند 1386, 17:04 عصر
درباره سوال اول باید بگم که شما در نهایت کدهای خودتون رو بصورت یک فایل .war منتشر

می کنی. دو تا راه حل وجود داره :

1. از javabean ها استفاده کن تا تنها به فایل های .class احتیاج داشته باشی

2. می تونی خودت یک کلاس encoder / decoder با الگوریتم خودت بنویسی.

javaphantom
سه شنبه 21 اسفند 1386, 17:20 عصر
با سلام خدمت همه
اولین سوال : میخواستم بدونم آیا می توان سورس های نوشته شده توسط جاوا یا jsp را کد کرد که کسی سورس برنامه ما را نتواند بردارد. اگر هست نام برنامه و یا لینک آن را ذکر کنید.
دومین سوال : برای گزارش گیری برای عملیات هر کاربر چه باید کرد ؟ یعنی کاربری وارد شد در دیتا ساعت ورود و کار آن را مثلا حذف و اضافه کردن آن را گزارش بگیرد

دوست عزیز هر فایل JSP در آخر تبدیل به یک Servlet می شود.
Servlet یک کلاس فایل جاوایی می باشد که در قسمت سرور توسط container شما مدیریت می شود. یک کلاس فایل یک فایل کد شده است.
علت چنین سوالاتی نشانگر این هست که شما اصلا به جاوا استاندارد کاملا مشرف نیستید و در نتیجه با servlet هم نمی توانید خوب آشنایی داشته باشید.

برای قسمت دوم هم شما باید یک جدول transaction در database برای خودتون درست کنید که تمام رفتارهای کاربران را در آن نگهداری کند.

javaphantom
سه شنبه 21 اسفند 1386, 17:25 عصر
درباره سوال اول باید بگم که شما در نهایت کدهای خودتون رو بصورت یک فایل .war منتشر

می کنی. دو تا راه حل وجود داره :

1. از javabean ها استفاده کن تا تنها به فایل های .class احتیاج داشته باشی

2. می تونی خودت یک کلاس encoder / decoder با الگوریتم خودت بنویسی.

می تونم بپرسم javabean چی هست؟ چه تفاوتی با دیگر فایلهای جاویی دارد؟ یعنی اگر ما از servlet یا jsp استفاده کنیم به فایل های class. احیتاج نخواهیم داشت؟

راه حل دومی که پیشنهاد کردید که دیگه شاهکاره خودش کلی جای تفسیر و تحلیل داره اما جواب کدوم قسمت هست خدا می دونه. این شرکت سان چرا زودتر به ذهنش نرسید که این کار و بکنه

mojtaba_java
سه شنبه 21 اسفند 1386, 17:39 عصر
از شما 2 دوست محترم که لطف کردید جواب دادید متشکرم.
بله من زیاد به جاوا مشرف نیستم. اگر بودم که سوال هم نداشتم زیرا در اینصورت مانند شما علامه دهر می شدم و به سوالات دیگران پاسخ می دادم. شما هم اگر براتون مقدور است در رابطه با سوال دوم بیشتر توضیح دهید. :اشتباه: با تشکر:چشمک:

javaphantom
سه شنبه 21 اسفند 1386, 17:54 عصر
از شما 2 دوست محترم که لطف کردید جواب دادید متشکرم.
بله من زیاد به جاوا مشرف نیستم. اگر بودم که سوال هم نداشتم زیرا در اینصورت مانند شما علامه دهر می شدم و به سوالات دیگران پاسخ می دادم. شما هم اگر براتون مقدور است در رابطه با سوال دوم بیشتر توضیح دهید. :اشتباه: با تشکر:چشمک:

معلومه که نسبت به شما علامه دهر هستم. زحمت کشیدم. کاری که شما نمی خواهید بکنید.
حالام می خواهی با متلک گفتن کارت راه بیوفته این دیگه نمی شه. از دیگر استاتید کمک بگیرد. همانطور که قبلا اشاره کرده یک decoder encoder بنویسید کاری که سان هم به عقلش نرسیده شاید این جوری شما هم علامه دهر شدید.
بحث transaction بحثی نیست که من بخوام تو دو خط بگم و چندتا کدم بزنم و شما هم استفاده کنید و کار حل بشه.
درسی هست در دانشگاه که هم برای دوره کاردانی هست هم برای دوره کارشناسی به نام پایگاه داده مطالعه کنید مطمعا شما هم علامه دهر خواهید شد. کاملا بحث transaction یا همان جدول تراکنشی برای شما توضیح داده شده است. خیلی هم دوست دارید می تونیید با ejb کار کنید خیلی آسونه کاره ۲ ساعت بخونی حله دیگه می شه سوپر علامه دهر.
معید و منصور باشید.

zer0cool
پنج شنبه 23 اسفند 1386, 08:43 صبح
دوست عزیز هر فایل JSP در آخر تبدیل به یک Servlet می شود.
Servlet یک کلاس فایل جاوایی می باشد که در قسمت سرور توسط container شما مدیریت می شود. یک کلاس فایل یک فایل کد شده است.
علت چنین سوالاتی نشانگر این هست که شما اصلا به جاوا استاندارد کاملا مشرف نیستید و در نتیجه با servlet هم نمی توانید خوب آشنایی داشته باشید.

برای قسمت دوم هم شما باید یک جدول transaction در database برای خودتون درست کنید که تمام رفتارهای کاربران را در آن نگهداری کند.



میشه در مورد servlet و jsp و تفاوتشون بیشتر توضیح بدی جناب فانتوم!!
تا اونجا که من میدونم یه jsp با servlet با هم دیگه فرق میکنند اینو از ظاهرشون هم میشه دید چون کدهای jsp به html نزدیکترند ولی servlet به جاوا نزدیکتر و اینکه servlet برای validation بکار میره و .... ولی مطمئنا اطلاعات من در این زمینه کم هستش اگه ممکنه شما بیشتر درموردشون توضیح بدی ممنون میشم.
مرسی

javaphantom
پنج شنبه 23 اسفند 1386, 09:36 صبح
میشه در مورد servlet و jsp و تفاوتشون بیشتر توضیح بدی جناب فانتوم!!
تا اونجا که من میدونم یه jsp با servlet با هم دیگه فرق میکنند اینو از ظاهرشون هم میشه دید چون کدهای jsp به html نزدیکترند ولی servlet به جاوا نزدیکتر و اینکه servlet برای validation بکار میره و .... ولی مطمئنا اطلاعات من در این زمینه کم هستش اگه ممکنه شما بیشتر درموردشون توضیح بدی ممنون میشم.
مرسی

بله فرق می کنه ما نگفتیم فرق نمی کنه گفتم هر JSP در آخر تبدیل به یک servlet می شه.
سوال خوبی کردی که servlet چی هست؟
ما در صفحات dynamic یعنی صفحات html ی در آن عمل پردازش صورت می گیرد برای درست کردن چینن صفحاتی از CGI یا همان Common Gate Interface که با زبان C پیاده سازی می شد استفاده می کردند که خوب زبان C هست و هزار دردسر و پیچیدگی خاص خودش.
servlet همان CGI هست که با زبان جاوا پیاده سازی می شه به اضافه اینکه بیشتر پیجیدگیهای مربوط به امنیت و و و بصورت abstract جاوا داره پشتیبانی می کنه.
حالا چه جوری کار می کنه و چه جوری ازش نگهداری می شه و مدیریت باید بریم سراغ یک container که اینو می زارم به عده خودت.
servlet یک جاوا فایل هست که در آخر کار مثل تمام جاوا فایل های دیگه کامپل می شه و یک class فایل می ده. که وظیفه instance گرفتن از این class فایل به عهده tomcat هست.

شما اشاره کردید که برای validate کردن است.
کی همچین حرفی به شما زده یا کجا همچین مطلبی رو خوندید. شما می توانید تمام page های داینامیک خودتون رو با servlet به نویسید حتی می تونید همان اولین page صفحه که index یا هر چیزه دیگر هست رو با servlet بیاد بالا.

چرا از servlet فرار می کنیم به سمت JSP؟
تجربه در کار این رو به من نشان داده که افراد به چهار دلیل بیشتر به سراغ JSP می رن
۱.آشنایی کامل نداشتن از J2SE
بابا هنوز حاوا استاندارد بلد نیست می خواد کار وب کنه
۲. دید Microsoftی که استفاده از IDE ی و ASP ی و مزخرفات همراهش
۳. ندانستن چگونگی استفاده از خود servlet
اینکه می گین برای validate استفاده می کنند نشان می ده که یک چیزایی خوندی ولی نفهمیدی. ما بحثی در J EE داریم به نام Pattern حتما مطالعه کن sun که بیکار نبوده بیاد servlet رو درست کنه که فقط validate کنی.
۴. تنها چیزی که قابل قبول است و خود سان برای همین موضوع اومد و JSP رو درست کرد این بود که شما برای ایجاد تگهای HTMLی در servlet باید دستورات زیادی بنویسی کسانی که با php کار کرده اند منظور من و می فهمند در مثالی که در پایین می زنم می بینی که منظور من چیه. به مثال توجه کن بابا

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



public class HelloWorld extends HttpServlet {

public void service(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//creating html tags with out
out.println("<html>");
out.println("<body>");
out.println("<h1 align=\"center\">Hello World </h1>");
out.println("</body>");
out.println("</html>");
}

}

تمام قسمتهایی که توی این کد می بینی توی یک صفحه JSP هم می تونی ببینی اما همانطور که داریم توی کد نگا می کنیم کلی out وجود داره ۵ خطی هست برای ایجاد چندتا تگ ساده حالا اگر می خواست table و چه می دونم css و و و باشه کار کد زنی سخت می شد البته نرم افزارهایی هستند برای همین کار که HTML تولید شده در Servlet شما رو چک کنند.

حالا JSP چیه؟
توی servlet دیدن بابا این همه out بزنیم که چی گفتن بیاییم از تگ استفاده کنیم بطوریکه بعدآ که برنامه نویسی کارشو کرد ما خودمون می کنیم servlet بعد کامپایلش می کنیم کی می فهمه بابا ها. طرف می یاد می نویس و حالش و می بره.
راحتی jsp نسبت به servlet هست که همه می رن سراغش تمام امکانات servlet رو با زبان تگ هست که داره بشتیبانی می کنه به اضافه چند چیز
۱. خود jsp دارای یک سری تگهای استاندارد است برای بالا بردن سرعت کار
۲. خود برنامه نویس هم می تونه کتابخانه ای شامل تگهای خودش رو ایجاد کنه
۳. یک سری تعریفها رو بصورت پیش فرض خود jsp پیاده سازی می کنه مانند
out,session,response,request وووو اگر servlet رو فهمیده باشی اون وقت می فهمی داستان چیزهایی که گفتم چیه.

مشکل شما و بیشتر کسانی که در این فروم هستند این هست که حاضر به خوندن نیستید سری می ری سراغ کدوم IDE ی و بعدشم یاعلی کد کد کد کد نه معمار کار می کنید نه متدودولوژی نه pattern نه هیچی هیچی. اون یکی می گه decoder و encoder درست کن آخه من چی می تونم بکم. معنی transaction رو نمی دونی با بانک اطلاعاتی کار می کنی. اصلا به من چه.
تمام گفتهای بالا هیج کدوم صحبتهای شخصی من نیست همه در کتاب های jsp servlet می تونید به صورت خیلی بهتر و کاملتر استفاده کنید