আমি কীভাবে কোনও জেএসপি ডিবাগ করতে পারি?


26

আমি একটি প্রকল্পের জন্য একটি জেএসপি সম্পাদনা করার চেষ্টা করছি এবং আমার সার্ভার থেকে অনুরোধ করা হলে আমি জেএসপি-র কোথাও একটি নালপয়েন্টার এক্সসেপশন পাচ্ছি।

আমার ওয়েব সার্ভার (জেবস) ব্যতিক্রমটি রিপোর্ট করছে তবে এটি আমাকে একটি বোগাস লাইন নম্বর দিচ্ছে। এটি প্রতিবেদন করছে যে ব্যতিক্রম 2০২ লাইনে ব্যতিক্রম ঘটেছে, তবে আমার জেএসপি কেবল ১৪ lines টি লাইন দীর্ঘ, তাই কোন লাইনটি দম বন্ধ করছে তা সনাক্ত করতে আমি অক্ষম।

জেএসপিগুলিতে ত্রুটিগুলি ডিবাগ করার জন্য কিছু ভাল কৌশল কী কী? আমি আমার আইডিই হিসাবে ইন্টেলিজ 9 আলটিমেট ব্যবহার করছি।

ধন্যবাদ



1
ঠিক আছে. দুঃখিত, আমি স্ট্যাকওভারফ্লো.কম এবং প্রোগ্রামার্স.স্ট্যাকএক্সচেঞ্জ.কমের মধ্যে পার্থক্য সম্পর্কে সম্পূর্ণ পরিষ্কার নই। আমি নিশ্চিত না যে কোন প্রশ্নগুলির সাথে সম্পর্কিত ... আমি প্রোগ্রামার্স.স্ট্যাকেক্সেক্সচেঞ্জের জন্য FAQ পড়েছি তবে এটি কিছুটা অস্পষ্ট।
এম্পারসান্ড্রে

3
আসলে আমি নিশ্চিত নই যে স্ট্যাক ওভারফ্লোতে এটি ঠিক আছে। যদিও এটি মোটামুটি নির্দিষ্ট সেখানে পর্যাপ্ত কংক্রিটের বিশদ নেই (সমস্যার প্রকৃতির কারণে)। আপনি যা করছেন তা হ'ল কৌশলগুলি যা এই সাইটের জন্য বিষয়বস্তুতে হওয়া উচিত।
ক্রিসএফ

আপনি কি আপনার জেএসপি-র ভিতরে কোনও জেএসপিএস অন্তর্ভুক্ত করেছেন? এভাবেই লাইন সংখ্যা বাড়তে পারে। প্রশ্নটি
স্ট্যাকওভারফ্লোতে

উত্তর:


29

এখানে বেশ কয়েকটি বিকল্প রয়েছে যা আপনাকে সহায়তা করতে পারে:

  1. এই উত্তরটি আসলে কীভাবে জেএসপিগুলিকে বিশেষভাবে ডিবাগ করা যায় তা ব্যাখ্যা করে: /programming/33739/jsp-debugging-in-intellij-idea । আমি কখনই এটি চেষ্টা করি নি তাই যখন আমি জেএসপি, জেবস এবং ইন্টেলিজ ব্যবহার করছিলাম তখন আমি পরবর্তী তিনটি পরামর্শ অনুসরণ করেছি ...

  2. মনে রাখবেন জেএসপিগুলি ক্লাসে সংকলিত। এটি 702 লাইনটি বললে এর অর্থ সংকলিত শ্রেণিতে হয়। আপনার যদি থাকে test.jspতবে ক্লাসের নামটি সম্ভবত test_jsp, তাই আপনার JBoss ওয়ার্ক ডিরেক্টরিটি খুলুন এবং অনুসন্ধান করুন test_jsp.java(একবার আপনি সঠিক ডিরেক্টরিটি খুঁজে পাওয়ার পরে দেখতে পাবেন যে ডিরেক্টরি কাঠামোটি আপনার JSP ডিরেক্টরি কাঠামোর সাথে মেলে)। আমার যখনই কোনও জেএসপি ব্যতিক্রম ছিল আমি লাইনটি খুব সহজেই খুঁজে পেতাম এবং সাধারণত এটি জেএসপিতে সংশ্লিষ্ট লাইনের সাথে মেলেতাম।

  3. ব্রেকপয়েন্ট জাভা ক্লাসের ঠিক সূক্ষ্ম কাজ নামক একটা JSP থেকে। সুতরাং, সম্ভবত আপনি আপনার জাএসপিতে থাকা জাভা স্ক্রিপ্ট কোডটিকে একটি শ্রেণিতে স্থানান্তর করতে এবং এন্ট্রি পয়েন্ট থেকে ডিবাগ করতে পারেন। ভবিষ্যতে আপনি আপনার যুক্তি পুনরায় সাজানোর অভ্যাসও তৈরি করতে পারেন যাতে এর বেশিরভাগ অংশই জেএসপি থেকে ডাকা একটি শ্রেণিতে থাকে এবং জেএসপি সহজ, সরল এবং আশা করি কোনও ব্যতিক্রম ছুঁড়ে না ফেলে। এটি যাইহোক ভাল অনুশীলন।

  4. আরও ভাল, এইচটিএমএল এবং জেএসপি ট্যাগের জন্য জেএসপি রেখে জাভা ক্লাসগুলিতে সমস্ত (বা কার্যত সমস্ত) জাভা যুক্তি সরিয়ে দিন। আমি জানি যে এটি এখনই সম্ভব নয়, তবে আবার এই জাতীয় সমস্যা এড়াতে এটি দীর্ঘমেয়াদী ধারণা।


2
জেএসপি থেকে যুক্তি সরাতে +1 : এই বিষয়ে আরো সর্বোত্তম কার্যাভ্যাস JSP / সার্ভলেট দেখা যেতে পারে, মডেল সঙ্গে 2 (MVC) স্থাপত্য oracle.com/technetwork/articles/javase/servlets-jsp-140445.html
bunglestink

ধন্যবাদ! বিকল্প 4 আদর্শ, আমি সম্মত, তবে আমাদের কাছে এই প্রকল্পে দুর্দান্ত দর্শন / নিয়ামক পৃথকীকরণ নেই।
এম্পারসান্ড্রে

1
আইটেম # 2 এর জন্যও +1 করুন। *_jsp.javaক্লাসগুলি কোথায় পাবেন তা আমার কোনও ধারণা ছিল না ।
স্কটিসিয়াস

2
হাজার হাজার জেএসপি রয়েছে এমন একটি প্রকল্পে জেএসপিগুলি থেকে সমস্ত যুক্তি সরিয়ে ফেলা, প্রত্যেকটিতে কয়েক হাজার লাইনের স্ক্রিপ্টলেট রয়েছে ... না, ধন্যবাদ, কেবল হ্যাশটবেল এবং ভেক্টরগুলি ডিবাগ করতে চান। এফএমএল :-( </
ant

-1

আপনি জাভা কোডের মতো সহজেই কোনও জেএসপি পৃষ্ঠাটি ডিবাগ করতে পারেন:
"একটি জেএসপি ফাইলটি জাভা ক্লাসটি ডিবাগ করার মতো, তবে সর্বাধিক বৈশিষ্ট্যগুলি (দেখুন, পরিদর্শন করা ইত্যাদি) প্রয়োগ করা হয় না vari ভেরিয়েবলের মান পাওয়ার একমাত্র উপায় এটি ভেরিয়েবল দর্শন।
নীচের লিঙ্কটি দেখুন:
https://www.laliluna.de/articles/posts/debugging-jsp-java-tutorial.html


4
ইতিমধ্যে একটি ভাল প্রাপ্ত উত্তর রয়েছে এমন কোনও পুরানো প্রশ্নের উত্তর দেওয়ার সময়, দয়া করে আপনার উত্তরে আরও বিশদ যুক্ত করুন যাতে আপনি এমন কোনও বিষয়কে সম্বোধন করছেন যা ইতিমধ্যে আচ্ছন্ন ছিল না।
gnat
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.