2.1 JSP নির্দেশাবলী
যেহেতু আমরা জানতে পেরেছি যে JSP ফাইলটি একটি নিয়মিত সার্লেটে রূপান্তরিত হয়েছে, তাহলে আপনি এতে সাধারণ জাভা কোড লিখতে পারেন। এবং এই জাভা কোডে, আপনি বিভিন্ন ক্লাস ব্যবহার করতে পারেন (উদাহরণ থেকে গণিত)। এই আরও ভাল! কিন্তু আমরা দেখতে পাচ্ছি যে সমস্ত কোড একটি doGet()
সার্লেট পদ্ধতিতে সরানো হয়েছে। এবং এটি অবিলম্বে বেশ কয়েকটি প্রশ্ন উত্থাপন করে:
- কিভাবে এটি তৈরি করবেন যাতে কোডটি পদ্ধতিতে সরানো হয়
doPost()
? - পদ্ধতিতে আপনার নিজের কোড কিভাবে যোগ করবেন
init()
? - কিভাবে শেষ পর্যন্ত শ্রেণী আমদানি নিবন্ধন?
মহান প্রশ্ন, এবং, অবশ্যই, তাদের একটি উত্তর আছে - JSP নির্দেশাবলী। একটি JSP-এর মধ্যে সমস্ত নন-HTML কোড অবশ্যই বিশেষ বন্ধনী <%
এবং %>
. সমস্ত JSP নির্দেশাবলী একটি টেমপ্লেট দ্বারা দেওয়া হয়:
<%@ directive %>
এখানে সর্বাধিক জনপ্রিয় পৃষ্ঠা নির্দেশক বৈশিষ্ট্যগুলির একটি তালিকা রয়েছে:
উদাহরণ | বর্ণনা | ||
---|---|---|---|
1 | আমদানি | <%@ page import="java.util.Date" %> |
একটি ক্লাস আমদানি করে |
2 | বিষয়বস্তুর প্রকার | <%@ page contentType=text/html %> |
কন্টেন্ট টাইপ সেট করে |
3 | প্রসারিত | <%@ page extends="Object" %> |
আপনি বেস ক্লাস সেট করতে পারেন |
4 | তথ্য | <%@ page info="Author: Peter Ivanovich; version:1.0" %> |
getServletInfo() এর জন্য ডেটা সেট করে |
5 | বাফার | <%@ page buffer="16kb" %> |
প্রতিক্রিয়া বাফারের আকার সেট করে |
6 | ভাষা | <%@ page language="java" %> |
ভাষা নির্দিষ্ট করে, ডিফল্ট জাভা |
7 | উপেক্ষা করা হয়েছে | <%@ page isELIgnored="true" %> |
আপনাকে EL স্ক্রিপ্ট নিষ্ক্রিয় করার অনুমতি দেয় |
8 | isThreadSafe | <%@ page isThreadSafe="false" %> |
থ্রেডসেফের জন্য পয়েন্ট |
9 | স্বয়ংক্রিয় ফ্লাশ | <%@ page autoFlush="false" %> |
বাফার লেখা পরিচালনা করে |
10 | সেশন | <%@ page session="false" %> |
আপনি পৃষ্ঠার জন্য অধিবেশন নিষ্ক্রিয় করতে পারেন |
এগারো | পৃষ্ঠা এনকোডিং | <%@ page pageEncoding="UTF-8"%> |
আপনি পৃষ্ঠা এনকোডিং সেট করতে পারেন |
12 | ত্রুটি পাতা | <%@ page errorPage="errorpage.jsp" %> |
আপনি একটি ত্রুটি পৃষ্ঠা সেট করতে পারেন |
2.2 আমদানি
মজার জন্য আমাদের JSP ফাইলে কিছু ইম্পোর্ট যোগ করি এবং একটি বেস ক্লাস সংজ্ঞায়িত করি।
JSP ফাইল উদাহরণ:
<%@ page import="java.util.Date" %>
<%@ page import="java.lang.Math" %>
<%@ page extends="com.codegym.MyHttpServlet" %>
<html>
<body>
<%
double num = Math.random();
if (num > 0.95) {
%>
<h2>You are lucky, user!</h2><p>(<%= num %>)</p>
<%
}
%>
</body>
</html>
এবং এটি থেকে যা আসবে তা হল:
import java.util.Date;
import java.lang.Math;
public class HelloServlet extends com.codegym.MyHttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {
PrintWriter out = response.getWriter();
out.print("<html> ");
out.print("<body> ");
double num = Math.random();
if (num > 0.95) {
out.print("<h2> You're lucky, user! </h2> <p> (" + num + ")</p> ");
}
out.print("</body> ");
out.print("</html> ");
}
}
কাজ করে। দারুণ!