在翻译阶段之前,有一个<%!....%>我的JSP页面中的代码行.我知道这只会在翻译的servlet中运行一次.这是否意味着servlet引擎将代码放在servlet的init()方法中?
我想学的是:翻译后哪种方法的代码是哪种?
提前致谢.
这是一个例子:
这个JSP代码:
<%@ page import="java.util.*" %> <!-- 1 -->
<%! private Date date; %> <!-- 2 -->
<% date = new Date(); %> <!-- 3 -->
Current date: <%= date %> <!-- 4 -->
Run Code Online (Sandbox Code Playgroud)
将被翻译为:
import java.util.*; // 1
public class ServletAbc extends GenericServlet {
private Date date; // 2
public void service(ServletRequest request,ServletResponse response)
throws IOException,ServletException{
PrintWriter out=response.getWriter();
date = new Date(); // 3
out.println("Current date: "); // 4
out.println(date);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,翻译的次要部分是依赖于容器的.例如,这些out.println()陈述也可能被翻译out.println("Current date: " + date);.