JSP基础语法
JSP = HTML + CSS + JS + JAVA +JSP 标签
JSP的语法:
1 指令元素
| ,page指令: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>|| ,import
||| buffer = [ 指定大小] 。给 out 对象【out.println 里数据积攒到一定大小一起返回给浏览器】使用的缓冲区是多大(默认8K)
|V ErrorPage = [ false\ture] 指定该jsp页面是否专门用于作为error页面。
V pageEncoding = "UTF-8" 指定servlet 引擎以什么方式翻译JSP,并且指定网页显示方式
V| contentType = "text/html; charset=UTF-8" 指定网页以什么方式显示页面
2 include 指令 <%@include file = “filename” %> 该指令用于引入一个文件,<---对比下面forward转发----->
JSP引擎会把两个jsp文件翻译成一个servlet 文件,被引入的jsp 文件 只需保留 page指令即可,<html>, <body>等都可以省略。
2 脚本元素
表达式:<%=表达式 %>
比如:
<% int i= 90; %>
<%=i*7-2; %>// 输出的是 ”90*7-2“ 的值。
在<% ,%>里定义的变量是局部变量,如果<%! int k = 900; %>,则是全局变量,只要服务没有关闭 这个变量是一直存在的 而 <% %>声明的变量是当前页面的私有变量,如果刷新页面该或关闭页面后 这个变量就会重新初始化了。
使用<%! %>定义的变量编译成servlet后成为servlet的私有成员变量,在servlet环境中,对于一个JSP页只允许有一个结果servlet的实例在运行和响应所有的页面请求。因此,在结果servlet中所有的成员变量可以被所有的请求所共享,所以只要成员变量没有重新赋值,下次访问该页面时仍然不变。而在 <% %>中定义的变量编译成 servlet 后成为service()方法的一个 本地变量,而service()方法中的 本地变量只能每响应一次请求就重建一次。同时成员变量会自动初始化,所以只要声明后就可以使用;而本地变量在使用前一定要手动初始化,否则编译出错。
3 动作元素
|, 常用:< jsp:forward> ----服务器转发
注:在开发JSP过程中,我们通常把JSP放到WEB-INF目录下,目的是为了防止用户直接访问这些jsp文件。解决方法:在webroot下有一个入口页面,他的主要任务为转发。
||,<jsp:include page=""> 动态引入。引入的文件与被引用的不作为同一个servlet。编译时两个文件的 .java 都会出现。此时被引入的文件可以保留<html>以及<body>