jsp中的盲区-面试可能会问到的东西
2017-10-24 00:17
288 查看
1、今天看到一个有趣的JSP题目。
<body>
This is my JSP page. <br>
<%
int a = 10;
%>
<%
out.print(a++);
%>
<%=a %>
<%!
int a = 100;
%>
<%
out.print(a++);
%>
</body>
输出结果:10 11 11
有人可能会问最后一个输出为什么不是100
个人解释: <%!
int a = 100;
%> 内的代码相当于全局变量。
而
<%
out.print(a++);
%>
执行的是方法内部的代码。也就是执行局部变量的代码。所以输出 11
2、如果代码是这样的:
输出结果是这样的:10 11 100 最后一行会执行输出成员变量的参数。
3、请问方法fun1会执行么?代码如下
答案是不会执行。<%! 代码..... %> 内的方法类似于在类内的方法。需要调用才会执行。正确执行代码如下。
<body>
This is my JSP page. <br>
<%
int a = 10;
%>
<%
out.print(a++);
%>
<%=a %>
<%!
int a = 100;
%>
<%
out.print(a++);
%>
</body>
输出结果:10 11 11
有人可能会问最后一个输出为什么不是100
个人解释: <%!
int a = 100;
%> 内的代码相当于全局变量。
而
<%
out.print(a++);
%>
执行的是方法内部的代码。也就是执行局部变量的代码。所以输出 11
2、如果代码是这样的:
<body> This is my JSP page. <br> <% int a = 10; %> <% out.print(a++); %> <br/> <%=a %> <%! int a = 100; %> <% out.print(this.a++); %> </body>
输出结果是这样的:10 11 100 最后一行会执行输出成员变量的参数。
3、请问方法fun1会执行么?代码如下
<body> This is my JSP page. <br> <% int a = 10; %> <% out.print(a++); %> <br/> <%=a %> <%! int a = 100; public void fun1() { System.out.println(a); } %> <% out.print(this.a++); %> </body>
答案是不会执行。<%! 代码..... %> 内的方法类似于在类内的方法。需要调用才会执行。正确执行代码如下。
<body> This is my JSP page. <br> <% int a = 10; %> <% out.print(a++); %> <br/> <%=a %> <%! int a = 100; public void fun1() { System.out.println(a); } %> <% out.print(this.a++); fun1(); %> </body>
相关文章推荐
- 【面试】SP隐含变量(也叫做内置对象、内建对象等等)这些东西在JSP当中,不用声明直接使用。
- 外企英文面试可能会用到的东西(我自己整理的)
- jsp和servlet面试
- 面试可能会出现的问题
- JSP中一些常用的东西
- 今天招聘会面试,有点东西值得写写
- 【面试】Servlet和Jsp的区别?
- jsp的注释可能会影响页面加载速度让代码扔继续执行
- 关于jsp的一些东西(全转载)
- Android面试中可能会问的Java面试题
- Java常见面试50题(java jsp)
- java面试问题二 jsp常见的内置对象
- 面试-JSP、SERVLET
- Android面试盲区记录
- IOS近期更新暂停,可能会更新点关于产品,项目相关的东西
- 【面试】JSP构架模型
- 学习过JSP容易遗忘的东西
- JSP常见的指令有哪些?(面试必备)
- JSP的面试题目
- jsp面试100问