每一个jsp页面都会被转换成.java文件,然后编译成.class字节码文件,在运行。
转换的Java文件与Servlet的结构和功能基本类似,如下:
public void _jspInit() {
}public void _jspDestroy() {
}public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {}
jsp:
<html>
<head>
<title>Login</title>
</head>
<body>
<%
int i=0;
i++;
PrintWriter o= response.getWriter();
out.println(i);
%>
</body>
</html>
对应转换为的部分Java代码:
javax.servlet.jsp.JspWriter out = null;
out = pageContext.getOut();
out.write("<html>");
out.write("<head>");
out.write("<title>Login</title>");
out.write("</head>");
out.write("<body>");
int i=0;
i++;
PrintWriter o= response.getWriter();
o.println(i);
out.write("</body>");
out.write("</html>");
符号使用:
<% %>执行Java程序片段
<%= %>输出内容
<%! %>声明方法或者变量,整个jsp页面可用。
<%-- --%>jsp注释
<%@ %>发送给jsp编译器的信息,不直接输出,如设置页面编码,导入Java包。
page指令
<%@ page contentType="text/html;charset=GB2312" import="java.util.*" ,"java.io.*" %>
<%@ page import="java.util.*" ,"java.io.*" %>
include指令
<%@ include file="index.jsp" %>