在翻译阶段之前,<%!....%>代码行在我的JSP页面中。我知道在转换后的servlet中只能运行一次。这是否意味着servlet引擎将代码放入servlet的init()方法中?
我要学习的是:翻译后,哪些代码可以转到哪些方法?
提前致谢。
这是一个例子:
此JSP代码:
<%@ page import="java.util.*" %> <!-- 1 --> <%! private Date date; %> <!-- 2 --> <% date = new Date(); %> <!-- 3 --> Current date: <%= date %> <!-- 4 -->
将被翻译成:
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); } }
请注意,翻译的一小部分取决于容器。例如,out.println()语句也可能被翻译成out.println("Current date: " + date);。
out.println()
out.println("Current date: " + date);