what is jsp?
jsp(java server page) 即 java服务器页面技术。jsp包括静态部分和动态部分,运行于服务器中。
首先说下jsp运行的过程:
在建立一个jsp程序后,第一次请求的过程:xxx.jsp---->tomcat(服务器)将xxx.jsp翻译成xxx.java源文件---->调用jdk中javac命令,编译成xxx.class---->在jvm中运行字节码文件---->转成xxx.html呈现在浏览器中。
第二次请求时,直接在jvm中运行xxx.class---->以xxx.html方式呈现
jsp页面的结构:
静态部分:html、css、JavaScript (包含注释)
动态部分:jsp元素 (与java相关的)
1. 指令:
编译指令: 只在编译时起作用,不会有任何输出 ( import ,包含一个小模块, 导入标签库 )
<%@ page 属性名="值" %> 导入的类的说明, 编码集
<%@ include file="文件名.jsp" %> 包含另一个页面( 公用的模块 )
<%@ taglib prefix="前缀名" uri="定义标签地址" %> 导入标签库.
例: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%>
动作指令:
<%jsp:include %>
<%jsp:forward %>
<%jsp:param %>
2. 脚本: 逻辑,业务, 输出
小脚本:
<% java代码 %> 进行 逻辑和业务操作的java代码
声明:
在声明中只能有全局变量定义,及方法的定义。
定义的变量是全局变量(属性) <%! j=0; %> , 而在小脚本里面定义的是局部变量(每访问一次,就会重新赋值一次,在方法访问完毕局部变量消失)
表达式
<%=值 %> 输出.
3. 注释
两种注释的区别:
<!-- html注释: 是会返回到客户端浏览器上去的,即它要hao流量 , 对静态代码使用方法 注释-->
<%-- 服务器注释,只要服务器中有,不会耗流量 --%>
4. 9大内置对象. (重点)
5个:<out session request application response>
out对象:输出
request对象:主要用于处理客户端请求
注意:
1.控制页面必须通过html标签
2.在一个脚本里面不能再嵌套一个脚本(可以用拼接的方式实现)
3.静态包含 <%@ include file="文件名.jsp" %> 包含另一个页面( 公用的模块 )
包含的是java源代码, 即将两个页面的.jsp代码翻译成 java后,再合并到一起,然后编译.
经常会出现的问题: 两个页面中出现相同的变量,导致程序出错。