jsp的基本语法

  jsp文件:可以有普通的HTML标记,jsp规定的标记以及java程序,文件扩展名为.jsp

  jsp运行原理:当Web服务器上的一个jsp页面第一次被客户端请求执行时,Web服务器上jsp引擎首先将jsp文件转译成一个java文件,并将java文件编译成字节码文件,然后执行字节码文件响应客户端的请求,当再次被请求时,jsp引擎直接执行字节码文件响应客户端请求。

jsp的基本语法

                 jsp的基本构成

在HTML静态页面中加入与java相关的动态元素,就构成了一个jsp页面,一个jsp页面通常由四种元素基本组成

1)普通的HTML标记

2)jsp注释

3)java脚本元素

4)jsp标记

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!-- JSP指令标记 --><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><jsp:include page="a.jsp"/> <!-- JSP动作标记 --> <%! int i = 0; //数据声明 int add(int x, int y) { //方法声明 return x + y; }%><html> <!-- html标记 --><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%  i ++; //Java程序片 int result = add(1, 2); %> i的值为<%=i%> <%--Java表达式 --%> <br> 1+2的和为<%=result%></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> 被example3_1.jsp动态引用。</body></html>

       jsp页面注释

1.HTML注释

格式<!–HTML注释–>

  jsp引擎对于HTML注释也要进行处理,即不把他们看作是注释,如果其中有jsp代码,也将被jsp引擎处理。查看源文件时,能够看到HTML注释。

2.jsp注释

格式:<%–jsp注释–%>

  jsp引擎将jsp注释当做真正的注释,在编译jsp页面时忽略这部分代码,因此查源文件时无法看到jsp注释。

jsp脚本元素

1.java程序片

格式:<%java代码%>

  一个jsp页面可以有任意段的java程序片,这些将会被jsp引擎按顺序执行

在一个程序片中声明的变量称为jsp页面的局部变量,它们在jsp页面后继的所有程序片以及表达式内部都有效。

  当多个用户请求一个jsp页面时,jsp引擎会为每个客户启动一个线程,不同的线程会执行该jsp页面中的java程序片段,程序片段中的局部变量会在线程中分配不同内存空间,所以,一个客户对jsp页面局部变量操作的结果,不会影响到其他其它客户。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example3_2.jsp</title></head><body> <%  int n = 0;  n++; out.print("n = " + n);  %>   </body></html>

   如有五个客户请求此页面,jsp引擎会启动五个线程,页面中的java程序片在每个程序中都被执行一次。

2.成员变量与方法声明

格式<%!变量或方法定义%>

  成员变量在整个jsp页面内都有效,,因为jsp引擎将jsp页面转译成java文件时,这些变量作为类的成员变量,这些变量的内存空间直到服务器关闭时才释放。所以,多个用户共享jsp页面的成员变量,任何用户对jsp页面成员变量操作的结果都会影响其他用户。

  在这中间定义的方法称作jsp页面的成员方法,该方法在整个jsp页面都有效,但是方法内定义的变量仅在该方法内有效。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example3_3.jsp</title></head><%!  int n=0;  int add(int x,int y){ return x+y; }%><body> <% int m=0;  n++; m++; int result=add(1,2); out.print("成员变量n的值为:"+n+"<br>"); out.print("局部变量m的值为:"+m+"<br>"); out.print("1+2="+result+"<br>"+"<br>"); out.print("第"+n+"个客户"); %></body></html>

jsp的基本语法


3.java表达式

格式<%= %>

  插入一个表达式,这个表达式必须能求值,表达式的值由Web服务器负责计算,并将计算结果用字符串的形式发送到客户端。

注意:不可在<%=和%>之间插入语句,即输入的内容末位不能有分号

<%=是一个完整的符号,<%和=之间不能有空格。

实践

制作一个简易表格

jsp的基本语法

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><%!  boolean is_prime(double n){ if(n<=1) return false; double x=Math.sqrt(n); for(int i=2;i<=x;i++){ if(n%i==0) return false; } return true;}%>
<body><table border="1"><% for(int i=1;i<=10;i++){ %><tr><% for(int j=1;j<=15;j++){ int t=i*j; %> <% if(!is_prime(t)){ %> <td> <% out.print(t); %> </td> <% }else {%> <td bgcolor="yellow"> <% out.print(t); %> </td> <%} %> <% }} %>

</tr></table></body></html>

实际效果

jsp的基本语法

来源:码农迪迪,本文观点不代表自营销立场,网址:https://www.zyxiao.com/p/87595

发表评论

电子邮件地址不会被公开。 必填项已用*标注

侵权联系
分享本页
返回顶部