JSP
Posted AlphaJunS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP相关的知识,希望对你有一定的参考价值。
1、JSP概述
JSP全名Java Server Page,其本质是一个Servlet。
2、jsp运行原理
jsp页面在第一次被访问时,会被web容器翻译成一个名为_jsp.java的文件,然后java文件被编译运行。Tomcat文件夹下的work目录下存放着处理后的jsp文件。
3、jsp脚本
- <% java代码 %>:内部java代码会被翻译到service方法内部
- <%=java变量或表达式%>:会被翻译为service方法内部out.print()
- <%!java代码%>:会被翻译成servlet的成员
4、jsp注释
注释类型 | 格式 | 可见范围 | ||
jsp源码 | java源码 | html源码 | ||
jsp注释 | <%-- jsp注释 --%> | 有 | 无 | 无 |
java注释 | // java注释 | 有 | 有 | 无 |
html注释 | <!-- html注释 --> | 有 | 有 | 有 |
5、jsp指令
1、page指令
<% page 属性名1="属性值1" 属性名2="属性值2" ...%>
属性名称 | 取值or范围 | 描述 |
pageEncoding | 当前页面 | 指定页面编码格式 |
contentType | 有效的文档类型 | 客户端浏览器根据该属性判断文档类型 |
buffer | 8kb | jsp缓存大小 |
autoFlush | true/false | 是否自动刷新 |
errorPage | 某个JSP页面的相对路径 | 出错跳转页面 |
isErrorPage | true/false | 指定该页面是否为错误处理页面 |
import | 包名、类名 | JSP页面被翻译成Servlet源文件导入的包或类 |
language | java | JSP页面采用的语言 |
session | true/false | 指明该JSP是否内置Session对象 |
2、include指令
静态页面包含指定,可以将一个jsp页面包含在另一个页面中,<% include file="被包含的文件地址" %>
3、taglib指令
在jsp页面引入标签库(jstl标签库、Struts2标签库),<% taglib uri="标签库地址" prefix="前缀" %>
6、jsp内置对象
名称 | 描述 |
out | 用于页面输出 |
request | 获得用户请求信息 |
response | 服务器向客户端回应信息 |
config | 服务器配置,可以得到初始化参数 |
session | 用来保存用户信息 |
application | 所有用户所共享的信息 |
page | 当前页面转换成Servlet后的实例 |
pageContext | JSP页面容器 |
exception | JSP页面发生异常,在错误页面起作用 |
7、pageContext对象
pageContext是一个域对象,可用方法:setAttribute(String name, Object obj),getAttribute(String name),removeAttribute(String name)
可以向指定的其它域中存取数据,setAttribute(String name, Object obj, int scope),getAttribute(String name, int scope),removeAttribute(String name)
8、jsp四大域对象
- page域:当前jsp页面范围
- request域:一次请求
- session域:一次会话
- application域:整个web应用
以上是关于JSP的主要内容,如果未能解决你的问题,请参考以下文章
JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象