پرتاب Exception در صفحه‌ی JSP

0 رأی
میانگین بازدید روزانه 0.5336 بازدید

سلام. لطفا به کد زیر توجه کنید:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello JSP!</h1>
        <%
          Integer number = (Integer) session.getAttribute("requestNumber");
          if (number == null) {
            number = 1;
          } else {
            number++;
          }
          session.setAttribute("requestN", number);
        %>
        <%=number%>
    </body>
</html>

صفحه JSP بالا بدون هیچ ایرادی اجرا می‌شود و مقدار session را نمایش می‌دهد. اما اگر صفحه JSP بالا را به صورت زیر بنویسیم:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello JSP!</h1>
        <%
          Integer number = (Integer) session.getAttribute("requestNumber");
        %>
        <%=number%>
    </body>
</html>

با Exception مواجه می‌شویم.

سوال من این هست که خب برنامه خط به خط اجرا می‌شود. اما چرا در کد اول با اکسپشن مواجه نمی‌شیم؟ چون هنوز requestnumber در سشن ادد نشده. امکانش هست توضیح بدین؟ ممنون.

سوال 2 ماه قبل در تالار برنامه نویسی توسط 1993 (41 امتیاز)
با توجه به اینکه فایلهای jsp به servlet های متناظر تبدیل میشن. پیشنهاد من اینه که کد های تولید شده برای هر کدوم را هم بررسی کنید. احتمالا دلیل تفاوت رفتار جاوا توی هر کدوم از دو حالت براتون مشخص تر میشه.
این به عنوان یک ایده برای بررسی مشکل هست و راه حل مشکل نیست.
موفق باشید

سوال های مشابه

+1 رأی
1 جواب میانگین بازدید روزانه 0.23157 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 1.2463 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1439 بازدید
سوال 9 ماه قبل در تالار برنامه نویسی توسط HA (60 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.35193 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.36268 بازدید
سوال 2 سال قبل در تالار برنامه نویسی توسط ssss (462 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.0558 بازدید
سوال 3 سال قبل در تالار برنامه نویسی توسط کشکولی (30 امتیاز)
0 رأی
0 جواب میانگین بازدید روزانه 0.0792 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 2.254,072 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.24450 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.11230 بازدید
کانال تلگرام جواب یاب
...