JFreeChart হল একটি শক্তিশালী Java লাইব্রেরি যা ডাটা ভিজ্যুয়ালাইজেশন এবং গ্রাফ তৈরি করার জন্য ব্যবহৃত হয়। আপনি Servlet এবং JSP (Java Server Pages) এর মাধ্যমে JFreeChart ব্যবহার করে ওয়েব অ্যাপ্লিকেশনগুলোতে চার্ট তৈরি এবং প্রদর্শন করতে পারেন। এই পদ্ধতি ব্যবহার করে আপনি ডাইনামিক ডাটা ভিত্তিক চার্ট তৈরি করতে পারেন, যা ওয়েব পেজে ভিজ্যুয়ালাইজ করা যায়।
এখানে, আমরা দেখাবো কীভাবে JFreeChart ব্যবহার করে Servlet এবং JSP এর মাধ্যমে ডাইনামিকভাবে চার্ট তৈরি করা যায়।
JFreeChart ব্যবহার করার জন্য প্রয়োজনীয় কনফিগারেশন
JFreeChart ব্যবহার করতে হলে, প্রথমে JFreeChart লাইব্রেরিটি আপনার প্রোজেক্টে যোগ করতে হবে। যদি আপনি Maven ব্যবহার করেন, তবে আপনার pom.xml ফাইলে JFreeChart ডিপেনডেন্সি যোগ করুন:
Maven ডিপেনডেন্সি:
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.3</version>
</dependency>
এছাড়া, JSP এবং Servlet এর জন্য যথাযথ কনফিগারেশন থাকা দরকার (যেমন web.xml এবং .jsp ফাইলের সঠিক সেটআপ)।
Servlet দিয়ে JFreeChart তৈরি এবং রেন্ডার করা
প্রথমে একটি Servlet তৈরি করা হবে, যা JFreeChart দিয়ে একটি চার্ট তৈরি করবে এবং সেই চার্টটি JSP পেজে পাঠাবে।
1. Servlet কোড উদাহরণ:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.awt.*;
public class ChartServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// ডেটাসেট তৈরি করা
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(5, "Series1", "January");
dataset.addValue(3, "Series1", "February");
dataset.addValue(4, "Series1", "March");
dataset.addValue(6, "Series1", "April");
// বার চার্ট তৈরি করা
JFreeChart chart = ChartFactory.createBarChart(
"Monthly Data", // Chart title
"Month", // X-axis Label
"Value", // Y-axis Label
dataset // Dataset
);
// ChartPanel তৈরি করা
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
// Servlet response সেট করা
response.setContentType("image/png");
ChartPanel panel = new ChartPanel(chart);
panel.setPreferredSize(new Dimension(800, 600));
// চার্টের প্যানেলটিকে PNG ফরম্যাটে রেন্ডার করা
javax.imageio.ImageIO.write(panel.getChart().createBufferedImage(800, 600), "PNG", response.getOutputStream());
}
}
কোড ব্যাখ্যা:
- Dataset তৈরি:
DefaultCategoryDatasetব্যবহার করে ডেটাসেট তৈরি করা হয়েছে এবং এর মধ্যেaddValue()মেথড দিয়ে ডাটা যোগ করা হয়েছে।
- JFreeChart তৈরি করা:
ChartFactory.createBarChart()মেথড দিয়ে একটি বার চার্ট তৈরি করা হয়েছে, যেখানে X অক্ষ হল "Month" এবং Y অক্ষ হল "Value"।
- ChartPanel তৈরি করা:
- চার্টটি প্রদর্শনের জন্য
ChartPanelব্যবহার করা হয়েছে। এরপর, সেটি Servlet Response হিসেবে PNG ইমেজ আউটপুট করা হচ্ছে।
- চার্টটি প্রদর্শনের জন্য
JSP পেজে JFreeChart রেন্ডার করা
একবার Servlet এর মাধ্যমে চার্ট তৈরি হয়ে গেলে, সেটি JSP পেজে রেন্ডার করা যাবে। এখন আমরা JSP পেজ তৈরি করব যা Servlet থেকে চার্টের PNG ইমেজ দেখাবে।
2. JSP কোড উদাহরণ:
<%@ page contentType="image/png" %>
<html>
<head>
<title>JFreeChart Example</title>
</head>
<body>
<h1>JFreeChart Example using Servlet</h1>
<img src="ChartServlet" alt="Chart Image" />
</body>
</html>
কোড ব্যাখ্যা:
- JSP Content Type:
contentType="image/png"সেট করে JSP পেজটি ইমেজ ফরম্যাটে রেন্ডার হবে।
- Chart Servlet থেকে চিত্র আনা:
<img src="ChartServlet" alt="Chart Image" />এর মাধ্যমে JSP পেজে Servlet থেকে চার্টের PNG ইমেজ ডিনামিকভাবে রেন্ডার করা হবে।
Web.xml কনফিগারেশন
Servlet এবং JSP সঠিকভাবে কাজ করার জন্য web.xml ফাইলে Servlet মেপিং কনফিগার করা দরকার।
3. web.xml কনফিগারেশন:
<web-app>
<servlet>
<servlet-name>ChartServlet</servlet-name>
<servlet-class>ChartServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ChartServlet</servlet-name>
<url-pattern>/ChartServlet</url-pattern>
</servlet-mapping>
</web-app>
এখানে, ChartServlet কে /ChartServlet URL প্যাটার্নে ম্যাপ করা হয়েছে, যাতে JSP পেজে <img src="ChartServlet" /> ব্যবহার করা যায়।
Conclusion
JFreeChart এর মাধ্যমে Servlet এবং JSP ব্যবহার করে ডাইনামিক চার্ট তৈরি এবং প্রদর্শন করা সম্ভব। Servlet এর মাধ্যমে JFreeChart ব্যবহার করে ডাটা তৈরি করে PNG ইমেজ আউটপুট করা হয়, এবং JSP পেজে সেই চিত্র প্রদর্শিত হয়। এই পদ্ধতি ব্যবহার করে আপনি আপনার ওয়েব অ্যাপ্লিকেশনগুলিতে ডাটা ভিজ্যুয়ালাইজেশন এবং গ্রাফিক্যাল রিপ্রেজেন্টেশন সহজে ইন্টিগ্রেট করতে পারবেন।
Read more