Java JSP中的迭代
这是我的密码Java JSP中的迭代,java,jsp,iteration,Java,Jsp,Iteration,这是我的密码 <%@page import="java.util.logging.Logger"%> <%@page import="java.util.logging.Level"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page isThreadSafe="false"%> <%! int k = 0;%> <!DOCTYPE html> &
<%@page import="java.util.logging.Logger"%>
<%@page import="java.util.logging.Level"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page isThreadSafe="false"%>
<%! int k = 0;%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Concurrency</title>
</head>
<body>
<%
for (int i = 0; i < 10; i++) {
out.print(k + "->" + i + "</br>");
k++;
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
}
}
%>
</body>
</html>
JSP是否遵循一些规则而不是核心Java规则?
我不明白,为什么k要等到我达到10,然后才开始打印呢?这是因为
使k在执行后留在附近。每次运行此页时,k的最后一个值将保留在内存中。您可以在块中向下重置k,也可以从代码中删除该块
int k=0;
for (int i = 0; i < 10; i++)
intk=0;
对于(int i=0;i<10;i++)
将k定义为JSP对应的Servlet
for(int i=0;i<10;i++)
在块级别定义i
自然,k会随着每个页面请求而不断增长,因为这将映射到相同的Servlet
类,重用k
,但得到一个新初始化的i
----作为对更详细解释的请求的回应----
JSP页面并没有真正按原样运行。它被传递到编译器中,并转换为.class
文件。在将其传递到该编译器之前,需要将其转换为适当的.java
文件,其发生方式“大致”如下
String
sServlet
的内容中通常,您会发现命令行选项。如果幸运的话,有时这些命令行选项包括仅在生成
.java
文件时“停止”(或者在从.jsp
文件生成.java
文件后不删除这些文件的选项。声明k
在哪里?发布整个代码:)您调用此页面多少次<代码>我仅从0开始。。k从10开始每次迭代时k和i不是增加吗?为什么我的java核心程序按我想要的方式运行?@Kick Buttowski,因为你没有使用,所以如果保留它,它只会使它看起来像左手从0开始,只有右手在移动。Budeveloperwjk t我不明白,为什么k要等到我达到10,然后开始打印?你的答案更有意义,但是你能解释一下吗?页面是如何被请求的?它是因为for循环而请求的吗?Tomcat过去使用jasper
来编译JSP,也许现在仍然如此。另外,jspc
是某些web服务器(如Sun)的编译器名称。最后,如果有帮助,请单击数字上方的向上箭头,如果有误导性,请单击数字下方的向下箭头。什么箭头?我使用的是netbeans 8,你也在使用web浏览器来阅读这句话。每个答案的右边都是箭头和数字。希望其他人点击这些箭头是人们在StackOverflow回答问题的95%原因。
int k=0;
for (int i = 0; i < 10; i++)