JSP(1)----------基础语法

1、jsp概述--Java Server Page

    概念:JSP是java的服务器端页面技术,它是servlet的升级版本。

    作用:生成动态页面。

2、基本语法:

    1)脚本元素

        1.1)表达式脚本:语法:<%=  表达式   %>

                                       作用:向页面展示结果

                                        注意:表达式的结尾不能书写“;”,%与=不能有空格

        2.2)声明脚本:语法:<%!........%>

                                  作用:用于声明变量和函数

                                   注意:不能调用函数,需要配合表达式脚本来完成函数的调用;%与!之间不能有空格;

        3.3)普通脚本:语法:<%.................%>

                      作用:用于书写分支语句、循环语句等普通的java代码

                                 注意:脚本元素之间不允许有交叉嵌套、脚本元素与html标签不能交叉使用

小案例如下:

<%@page language="java" import="java.util.*" pageEncoding="utf-8" errorPage="error.html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  	<meta http-equiv="refresh" content="1">   
  </head>
  <body>
   	<% 
   		for(int i=1;i<=9;i++){
   			for(int j=1;j<=9;j++){
   	%>
   				<span style="color:#<%=Long.toHexString((Math.round(Math.random()*100000))) %>"><%=i%>*<%=j%> = <%= i*j %>    </span>
   	<%
   				if(i == j){break;}
   	%>
   	<%
   			}
   	%>
   		<br/>
   	<%
   		} 		
   	%>
   	<hr/>  	   	
 </body>
</html>

运行结果:


3、JSP与Servlet的关系

当jsp被加载的时候,jsp会被解析成一个servlet,存放路径:D:\apache-tomcat-8.0.50\work\Catalina\localhost\bz1\org\apache\jsp

注:声明脚本定义的变量,被翻译成实例变量(成员变量)

      普通脚本中的变量,会被翻译成局部变量

      html标签,被翻译成out.write(html标签)

      表达式脚本,被翻译成out.write(表达式)

4、指令元素

        作用:可以定义一些jsp页面的原始规则,比如编码格式、引入外部资源等;会被服务器解释执行,但是不会产生任何内容输出到网页中,也就是说对客户端浏览器不可见的。

        4.1)页面指令

              语法:<%@ page 属性=”属性值“(一共15个,下面介绍几个常用的)>

               定义位置:在jsp页面的顶部

               属性说明:language:指定当前jsp支持的语言;目前只支持java

                                import:导入一个包,如:import = "java.util.*,java.text.*"

                                pageEncoding:jsp翻译到.java文件时的编码格式

                                contentType:相当于servlet中的response.setContentType(.....),响应的格式MIME

                                session:是否自动创建session,tomcat5之前默认session=false,tomcat6之后,默认是session=true

                                errorPage:指定jsp出现异常时,跳转的错误页面

                                isErrorPage:指定当前页面是否作为错误页面,值为true|false

                                isELIgnored:指定当前jsp页面是否忽略EL表达式,值为true|false

                                buffer:设置jsp的out输出对象使用的缓冲区大小,默认是8KB,且单位只能是KB.建议使用8的倍数

                                autoFlush:设置JSP页面缓存满时,是否自动刷新缓存,默认是true;如果为false,则存满时将抛出异常

        4.2)标签指令:指明该页面所使用的标签库,同时并引用标签库

               语法:<%@ taglib uri="资源的位置"  prefix="别名/前缀名"%>

                        如:<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core">

       4.3)包含指令

                语法:<%@ include file="资源的路径"%>

                特点:这种包含成为静态包含。包含的是源文件,被包含页面与包含页面不能有变量命名冲突;

                原因:当使用这个标签时,服务器会将包含与被包含页面解析为一个.java文件

5、动作元素

       5.1)包含动作

                 语法:<jsp:include page="资源路径">

                 特点:这种称为动作包含,包含的是各个页面的执行结果,在包含于被包含页面之间不存在变量命名冲突问题。

                 原因:服务器解析文件时分开解析,并不会解析为一个.java文件

      5.2)转发动作

                  语法:<jsp:forward  page=“目标资源的路径”></jsp:forward>



猜你喜欢

转载自blog.csdn.net/qq_36115651/article/details/80009293