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