JSP(Jackson Structure Programming)方法是根据 Jackson 方法思想形成的,要说明JSP方法就必须先了解Jackson方法。 Jackson 方法是一种面向数据结构的开发方法。因为一个问题的数据结构与处理该数据结构的控制结构有着惊人的相似之处,该方法就是根据这一思想形成的最初的JSP 方法。首先描述问题的输入/出数据结构,分析其对应性,然后退出相应的程序结构,从而给出问题的软件过程描述。JSP 方法是以数据结构为驱动的,适合于小规模的项目。当输入数据结构与输出数据结构之间没有对应关系时,难以应用此方法。基于 JSP 方法的局限性,又发展了 JSD(Jackson System Development),它是 JSP 方法的扩充。
代码段是包含在“<%”和“%>”之间的Java程序片段,包含一个或多个有效而完整的语句。
当Web服务器接受客户端请求时,Java程序代码会被执行并向客户产生输出。
其语法形式为:
<% Java代码 %>
1、输出方式,虽然在<% %>里面的是Java代码,但还是有点小出入的:
System.out.println(new Date());
out.println(new Date());
第一条语句输出的位置在服务器上,亦可以看作是我们的JavaEE的控制台上:
三月 12, 2019 7:15:28 下午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
警告: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [315] milliseconds.
三月 12, 2019 7:15:30 下午 org.apache.catalina.startup.TldConfig execute
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
三月 12, 2019 7:15:30 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]
三月 12, 2019 7:15:30 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
三月 12, 2019 7:15:30 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 4197 ms
Tue Mar 12 19:56:23 CST 2019
第二条语句才是向客户端也就是页面上输出内容;
2、关于jsp中局部变量与成员变量:就可以看为在Java的一个类中的成员变量,和一个方法体中的局部变量。
定义成员变量或成员方法:<%! int x = 0; %>
局部变量:<% int x= 0;%>
每个jsp文件都相当于一个类,<% %>此标记就相当于这个类中的一个方法,所以在其中定义的变量当然就是局部变量,<%! int x = 0; %>它对应的就是成员变量,每次刷新jsp文件所对应的一个页面时,方法就会被重新运行。Eg:
<%! int count = 0; %>
<%
//在这个标签里面书写Java代码
int number = 0;
number++;
count++;
out.println("number"+number);
out.println("count"+count);
out.println("Hello JSP");//输出到客户端,即网页上
out.println(new Date());
System.out.println(new Date());//显示在服务器上,即控制台上
%>
每次刷新这个jsp文件所对应的页面时,在对应的HTML网页上number永远只会输出1,而count则会不断地自增。
3、Jsp中的成员方法以及内容输出表达式,在Jsp中一般都定义成员方法,具体为什么我也不是很清楚,感兴趣的可以去查一查。
(1) 、Jsp中的函数:与java中的函数没有什么太大的区别。
<%! String str = "skh"; %>
<%!
String f(){
return str;
}
%>
2、内容输出表达式<%= %>:对于一个str,我们想要在客户端上显示出来可以这样简化:
<%! String str = "skh"; %>
<%=str %>
而不需要在通过输出语句输出,这就是内容输出表达式.%=可加上成员变量与有返回值的函数:
<%! String str = "skh"; %>
<%!
String f(){
return str;
}
%>
<%=f() %>