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

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

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

<%@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 در سشن ادد نشده. امکانش هست توضیح بدین؟ ممنون.

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

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

+1 رأی
1 جواب میانگین بازدید روزانه 0.23173 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.6881 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1448 بازدید
سوال 11 ماه قبل در تالار برنامه نویسی توسط HA (95 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.37224 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.34282 بازدید
سوال 2 سال قبل در تالار برنامه نویسی توسط ssss (462 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.0561 بازدید
سوال 3 سال قبل در تالار برنامه نویسی توسط کشکولی (30 امتیاز)
0 رأی
0 جواب میانگین بازدید روزانه 0.0696 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 2.34,311 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.24478 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.11239 بازدید
کانال تلگرام جواب یاب
...