一、什么是JSP?
JSP(Java Server Page)
- 建立在Servlet规范上的动态网页开发技术本质是servlet(Html + Java)
- 特点:跨平台、业务代码相分离、JavaBean组件重用、预编译(一个用户只编译一次)
- 产生原因:html页面输出太麻烦
二、jsp运行原理
- 本质就是servlet,第一次被访问的时候被web容器翻译成servlet再执行
- helloServlet.jsp→helloServlet_jsp.java源文件→helloServlet_jsp.class字节码文件
- 被翻译后的servlet在Tomcat的work目录中可以找到
- F:\Tomcat\apache-tomcat-7.0.52\work\Catalina\localhost\WEB17\org\apache\jsp
- jsp继承了HttpjspBase,HttpjspBase类又继承了HttpServlet,故jsp就是servlet
三、文档结构
<%@ 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>
</body>
</html>
四、jsp基本语法
| 脚本分类 |
说明 |
| <%(变量/方法/语句等)%> |
jspScriptlets:被翻译到Servlet中的service方法的局部变量。调用完则释放内存空间,常用于输出 |
| <%=(变量/表达式)%> |
jsp表达式:被翻译成servlet中service方法内部out.print()输出,变量或者表达式后面不能有分号 |
| <%!java代码%> |
jsp声明语句:被翻译成servlet类的成员方法/变量/代码块,静态方法/变量/代码块,对整个jsp页面有效 |
| 注释分类 |
说明 |
可见范围 |
| Html注释 |
<!–注释内容–> |
jsp源码、java源码、html源码 |
| java注释 |
//单行注释/多行注释/ |
java源码、jsp源码 |
| jsp注释 |
<%–注释内容–%> |
jsp源码 |
| 指令(指导jsp翻译和运行的命令)分类 |
属性 |
| <%@page 属性名1=“属性值1”%> |
language:jsp脚本中可以嵌入的语言种类java |
| 属性名称区分大小写 |
pageEncoding:读取jsp文件内容采用的编码一定要和保存文件的编码一致–内部可以包含contentType |
|
contentType:有效文档类型text/html; |
|
session:是否jsp在翻译时自动创建true/false |
|
import:导入java的包 可多次,其他只能一次java.util.* |
|
errorPage:当当前页面出错后跳转到哪个页面 |
|
isErrorPage:当前页面是一个处理错误的页面true/false |
|
buffer:8kb,jsp缓存大小,也是out的缓冲区大小 |
|
autoFlush:自动刷新,true/false |
| <%@taglib 属性名1=“属性值1” > |
uri:要引入的(jstl、struts2)标签库地址, prefix:前缀 使用xxx:前缀 |
| <%@include 属性名1=“属性 |