<% %> 小脚本
<%@page contentType="text/html; charset=UTF-8" %> <%--以下程序编译报错,无法访问i变量 --%> <%-- System.out.println(i); --%> <%-- 1、这是JSP的专业注释,使用这种注释方式,不会被翻译到java源文件中 2、在JSP文件中所编写的所有的html、css、javascript都会被自动翻译到Servlet的service方法中的out.write("翻译到这里"); 3、关于JSP的小脚本scriptlet: <% java语句; java语句; java语句; java语句; java语句; java语句; %> 4、小脚本中的java语句被翻译到Servlet的service方法中,所以小脚本中必须编写“java语句”,java语句以分号结尾。 5、所谓的JSP规范,就是SUN制定好的一些翻译规则,按照翻译规则进行翻译,生成对应的java源程序。不同的web服务器,翻译的结果是完全相同的, 因为这些服务器在翻译的时候,都遵守了JSP翻译规范。 6、小脚本的数量随意,可以多个。 7、小脚本中编写java程序出现在service方法中,service方法的代码是有执行顺序的,所以小脚本中的程序也是有顺序的。 --%> <% int i = 10; %> <html> <% System.out.println(i); %> <head> <% double d = 3.0; %> <title>my jsp page</title> <% System.out.println(d + i); %> </head> <body> hello jsp! <% System.out.println(d * i); %> </body> <% System.out.println(d / i); %> </html> <% String ename = "king"; System.out.println("ename = " + ename); %>
写成的java文件
public class index_jsp extends HttpJsBase { public void _jspInit(){ } public void _jsService(request,response){ int i = 10; out.write("<html>"); System.out.println(i); out.write("<head>"); double d = 3.0; out.write("<title>my jsp page</title>"); System.out.println(d + i); out.print("</head>"); out.print("<body>"); out.write("hello jsp!"); System.out.println(d * i); out.write("</body>"); System.out.println(d / i); out.write("</html>"); String ename = "king"; System.out.println("ename = "+ename); } }
以下程序编译无法通过,因为在service方法中不能编写实例变量、不能编写方法、不能编写静态语句块
<%@page contentType="text/html; charset=UTF-8"%> <%-- 以下程序编译无法通过,因为在service方法中不能编写实例变量、不能编写方法、不能编写静态语句块....--%> <%-- public String username; --%> <%-- public void m1(){ } --%> <%-- static{ } --%>