"আমি এখানে আছি। অনুরোধ অনুযায়ী, আমি এখন আপনাকে বলব কিভাবে আপনার প্রথম ওয়েব সার্ভার লিখবেন।"
"একটি ওয়েব সার্ভার একটি অপারেটিং সিস্টেমের মতো। এটি নিজে থেকে মূল্যবান নয়। এটি মূল্যবান কারণ আপনি এটিতে বিশেষ ওয়েব প্রোগ্রাম (সার্ভলেট) চালাতে পারেন। "
"এই সার্লেটগুলিই ব্যবহারকারীদের কাছ থেকে আসা অনুরোধগুলিকে প্রক্রিয়া করে।"
"তারা কীভাবে অনুরোধগুলি প্রক্রিয়া করে? আমি কীভাবে একটি ওয়েব সার্ভারের মধ্যে আমার প্রোগ্রাম চালাব?"
"আপনার নিজস্ব servlet লিখতে, আপনার ক্লাসকে অবশ্যই HttpServlet ক্লাসের উত্তরাধিকারী হতে হবে। তারপর এটির doGet() এবং doPost() পদ্ধতিগুলি প্রয়োগ করুন। যখন কোনও ব্যবহারকারীর কাছ থেকে একটি অনুরোধ আসে, তখন ওয়েব সার্ভার আপনার একটি সার্লেট অবজেক্ট তৈরি করে এবং এটিকে কল করে doGet() পদ্ধতি। অথবা ব্রাউজার থেকে আসা অনুরোধের ধরনের উপর নির্ভর করে এটি doPost() পদ্ধতিকে কল করে।"
"কিন্তু কিভাবে আমার প্রোগ্রাম এমনকি ওয়েব সার্ভারে প্রবেশ করে?"
"এটি সহজ। আপনি প্রোগ্রামটি লিখুন, এটি কম্পাইল করুন এবং এটিকে একটি বিশেষ ফোল্ডারে রাখুন যেখানে আপনি টমক্যাট ইনস্টল করেছেন।"
"সার্ভলেটগুলি একটি বড় এবং আকর্ষণীয়, তবে আলাদা, বিষয়। তাই, আমি আজকে এটি আপনাকে ব্যাখ্যা করব না। আমি আপনাকে অন্য কিছু সম্পর্কে একটু বলব।"
"JSPs হল একটি খুব আকর্ষণীয় ধরনের servlet বলা হয়। এগুলি PHP-এর মতো।"
"আসুন JSPs ব্যবহার করে সহজতম সম্ভাব্য ওয়েব প্রোগ্রাম লিখি এবং চালাই।"
"এটা করা যাক! আমি প্রস্তুত।"
"তাহলে শুরু করা যাক।"
ধাপ 1: একটি নতুন ওয়েব প্রকল্প তৈরি করুন
"সম্পন্ন."
ধাপ 2: জাভা মডিউলে মডিউল টাইপ সেট করুন। অ্যাপ্লিকেশনের ধরনটি ওয়েব অ্যাপ্লিকেশনে সেট করুন এবং JDK নির্দিষ্ট করুন।
"সম্পন্ন."
ধাপ 3: এটি একটি নাম প্রকল্প দিন
"সম্পন্ন."
"আপনার একটি নতুন খালি প্রকল্প দেখতে হবে।"
"প্রায় খালি। এতে index.jsp নামে একটি ফাইল অন্তর্ভুক্ত থাকবে। এটি খুঁজুন।"
ধাপ 4: JSP ফাইলটি খুঁজুন
"এটা পাওয়া গেছে।"
"দারুণ। এখানেই আমরা আমাদের সার্লেট কোড লিখতে পারি।"
"তবে আসুন প্রথমে IntelliJ IDEA একটু কনফিগার করি।"
"আপনি IntelliJ IDEA থেকে সরাসরি Tomcat-এ servlets চালাতে পারেন। এবং প্রয়োজন হলে তাদের ডিবাগ করুন। মূলত, এটি অত্যন্ত সুবিধাজনক এবং দুর্দান্ত। সময় এলে আপনি এটির প্রশংসা করবেন।"
"আমি তোমাকে বিশ্বাস করি। তাহলে এরপর কি?"
"আমরা IntelliJ IDEA কে 'শিখিয়ে দেব' কিভাবে টমক্যাটে আমাদের ওয়েব মডিউল (আমাদের অ্যাপ্লিকেশন) চালাতে হয়।"
ধাপ 5: মেনুতে 'কনফিগারেশন সম্পাদনা করুন' নির্বাচন করুন
"সম্পন্ন."
ধাপ 6: প্লাস চিহ্নে ক্লিক করে একটি নতুন কনফিগারেশন তৈরি করুন
"সম্পন্ন."
ধাপ 7: কী চালাতে হবে তা নির্দেশ করুন (টমক্যাট সার্ভার, স্থানীয়)
"নাম ক্ষেত্রে কনফিগারেশনের জন্য একটি নাম উল্লেখ করুন, যা লাল চিহ্নিত করা হয়েছে।"
"টমক্যাট যে বন্দরে সার্লেটটি চালু করবে তা সবুজ রঙে নির্দেশিত হয়েছে।"
"টমক্যাট কোথায় অবস্থিত তা আমাদের IntelliJ IDEAও বলতে হবে। কনফিগার বোতামে ক্লিক করুন..."
ধাপ 8: একটি রান কনফিগারেশন তৈরি করুন
"এখন আপনাকে টমক্যাট অবস্থিত ফোল্ডারটি নির্বাচন করতে হবে:"
ধাপ 9: টমক্যাটের অবস্থান নির্দিষ্ট করুন
"সম্পন্ন."
"আপনার এইরকম কিছু পাওয়া উচিত:"
ধাপ 10: ফলাফল কনফিগারেশন
"এখন আমাদের আমাদের প্রকল্পকে টমক্যাটের সাথে সংযুক্ত করতে হবে।"
অনেক কিছু করতে হবে। এটা একটা ভালো ব্যাপার যে আমি এই ধরনের বিস্তারিত নির্দেশনা পেয়েছি।"
"আপনি বাজি ধরুন! আমি আমার বন্ধুর জন্য চেষ্টা করি।"
"এখন ফিক্স বোতাম টিপুন এবং IDEA নিজেই সবকিছু করবে।"
ধাপ 11: IDEA প্রকল্প এবং টমক্যাটকে সংযুক্ত করে
"সম্পন্ন."
"দারুণ। আরও একটি মন্তব্য। পোর্ট 8080 সম্ভবত ইতিমধ্যেই দখল করা হয়েছে। সর্বোপরি, টমক্যাট ইনস্টলেশনের পরপরই চলতে শুরু করে।"
"IntelliJ IDEA একটি চলমান প্রকল্পে servlets যোগ করতে পারে, কিন্তু সরলতার জন্য, আপাতত, এটি প্রতিবার একটি নতুন টমক্যাট সার্ভার শুরু করবে।"
"তাহলে, আমরা বেশ কয়েকটি টমক্যাট চালাব?"
"হ্যাঁ। এবং প্রত্যেকের নিজস্ব পোর্ট প্রয়োজন। সুতরাং, প্রকল্প সেটিংসে পোর্ট 8080 পোর্ট 8888 এ পরিবর্তন করা যাক।"
"4 আট। আমি এটা পছন্দ করি।"
ধাপ 12: পোর্টটি 8888 এ পরিবর্তন করুন
"সম্পন্ন."
"দারুণ। আমরা সেটিংস শেষ করেছি।"
"তো এরপর কি?"
"এখন আমাদের index.jsp ফাইলটি একটু পরিবর্তন করা যাক"
"সেখানে কিছু লিখুন, উদাহরণস্বরূপ, «পাওয়ার টু ক্রাস্টেসিয়ান!»"
ধাপ 13: index.jsp পরিবর্তন করুন
"না, আমি বরং লিখব "পাওয়ার টু রোবট!""
"দারুণ। এখন আর একটু বাকি আছে।"
ধাপ 14: সার্লেট এবং টমক্যাট চালান
"টমক্যাট লগ এবং স্ট্যাক ট্রেস দৃশ্যমান হওয়া উচিত। লগটিতে কোন ত্রুটি থাকা উচিত নয়।"
"এটার মতো কিছু:"
ধাপ 15 - টমক্যাট লগ
"একই সময়ে, IDEA আপনার সার্লেটের URL সহ একটি ব্রাউজার খুলবে।"
"আপনার এইরকম কিছু পাওয়া উচিত:"
ধাপ 16: index.jsp পরিবর্তন করুন
"হ্যাঁ। এটাই আমি পেয়েছি। শান্ত!"
"এবং এখন ব্রাউজারে নিম্নলিখিত URL লিখুন:"
http://localhost:8888/index.jsp |
"কিছুই বদলায়নি।"
"এটা বলো না।"
ধাপ 17: index.jsp পরিবর্তন করুন
"এখন ব্রাউজার index.jsp ফাইলটি প্রদর্শন করে যা আপনি IntelliJ IDEA তে দেখেছেন।"
"যাকে আমি বদলেছি?"
"হ্যাঁ."
"কিন্তু যদি ব্রাউজারের অনুরোধে শুধুমাত্র ডোমেনটি নির্দিষ্ট করা হয়, এবং বাকি অনুরোধ না থাকে, তাহলে ডিফল্ট হ্যান্ডলারকে কল করা হবে। আমাদের ক্ষেত্রে, এটি index.jsp।"
"ধরুন আপনার কাছে তিনটি ফাইল আছে: index.jsp , apple.jsp , google.jsp । জিনিসগুলি কীভাবে কাজ করবে তা এখানে:"
অনুরোধ | প্রতিক্রিয়া |
---|---|
http://localhost:8888 | index.jsp |
http://localhost:8888/ | index.jsp |
http://localhost:8888/index.jsp | index.jsp |
http://localhost:8888/apple.jsp | apple.jsp |
http://localhost:8888/ samsung.jsp | ত্রুটি বার্তা: সার্ভলেট পাওয়া যায়নি |
http://localhost:8888/google.jsp | google.jsp |
http://localhost:8888/ index | ত্রুটি বার্তা: সার্ভলেট পাওয়া যায়নি |
"আমি বুঝতে পারি যে."
"বিলাবো, আপনি এতদিন ধরে বলে আসছেন যে JSP গুলি দুর্দান্ত৷ কিন্তু এগুলি সাধারণ HTML পৃষ্ঠাগুলির মতোই৷ সবকিছু ঠিক একই রকম৷"
"ঠিক আছে, সবকিছু নয়। JSP-তে নিম্নলিখিত পাঠ্য যোগ করার চেষ্টা করুন:"
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<html>
<head>
<title>Amigo says hi</title>
</head>
<body>
<%--This is still HTML--%>
<%
// But I can write Java code here
String s = "Power to robots!";
for(int i=0; i<10; i++)
{
out.println(s);
out.println("<br>");
}
%>
<%--and this is HTML again--%>
</body>
</html>
"আপনি একটি JSP পৃষ্ঠার ভিতরে জাভা কোড এম্বেড করতে পারেন, এবং এটি চলবে!
"একটি JSP পৃষ্ঠার জাভা কোডকে একটি স্ক্রিপ্টলেট বলা হয় এবং <% এবং %> ট্যাগগুলিতে আবদ্ধ থাকে"
"হুও।"
"ঠিক আছে। আমি আমার নিজের কয়েকটি JSP পৃষ্ঠা লিখব।"
"আপনাকে অনেক ধন্যবাদ, বিলাবো।"
"এবং তোমাকে ধন্যবাদ, আমার বন্ধু!"
GO TO FULL VERSION