2018-09-10JSP内容和标签的查看权限+9个内置对象

动态页面Jsp技术:

Jsp脚本:

<%Java代码%>:内部的Java代码翻译到Service方法的内部!

<%=java变量或表达式%>:会被翻译成service方法内部out.print(),用于页面上输出!

<%!Java代码%>:会被翻译成servlet的成员的内容!

Jsp注释:不同的注释可见范围是不同!

html注释:<!--注释内容-->:可见范围 Jsp源码,翻译后的Servlet,页面 显示html源码(Fn+F12)!

Java注释://单行注释  /*多行注释*/:可见范围 Jsp源码 翻译后的Servlet!

Jsp注释:<%--注释内容--%>:可见范围Jsp源码可见!

//推荐使用Jsp注释!

Jsp运行原理:

Jsp本质就是Servlet!

Jsp在第一次被访问时会被Web容器翻译成Servlet然后再执行(第一次访问会产生.java和.class文件,放入TomCat下的Work文件夹,但是原本的Jsp还是放在WebApps中)!

Jsp的指令是指导Jsp翻译和运行的命令,Jsp包括三大指令:

page指令:属性最多的指令,根据不同的属性,指导整个页面特性

(实际开发中page指令默认)!

格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>

常用属性如下:

language:Jsp脚本中可以嵌入的语言种类(默认设置好)!

pageEncoding:当前Jsp文件的本身编码,内部可以包含contentType

contentType:response.setContentType(text/html;charset=UTF-8)

Session:是否Jsp在翻译时自动创建Session(默认设置为session="true")!

import:导入Java的包(可以写多个<%@ page %>来设置import导包)!

errorPage:当当前页面出错后跳转到哪个页面!

isErrorPage:当前页面是一个处理错误的页面!

include指令:页面包含(静态包含)指令,可以将一个Jsp页面包含到另一个Jsp页面中

格式:<%@ include file="被包含的文件地址"%>

taglib指令:在jsp页面中引入标签库(JSTL标签库,Struts2标签库)!

格式:<%@ taglib uri="标签库地址" prefix="前缀"%>

Jsp的9个内置/隐式对象:

Jsp被翻译成Servlet之后,Service方法中有9个对象定义并初始化完毕,我们在Jsp脚本中可以直接使用这9个对象:

名称

类型

描述

out

javax.servlet.jsp.JspWriter

用于页面输出

request

javax.servlet.http.HttpServletRequest

得到用户请求信息,

response

javax.servlet.http.HttpServletResponse

服务器向客户端的回应信息

config

javax.servlet.ServletConfig

服务器配置,可以取得初始化参数

session

javax.servlet.http.HttpSession

用来保存用户的信息

application

javax.servlet.ServletContext

所有用户的共享信息

page

java.lang.Object

指当前页面转换后的Servlet类的实例(在普通类中的this)

pageContext

javax.servlet.jsp.PageContext

JSP的页面容器

exception

java.lang.Throwable

表示JSP页面所发生的异常,在错误页中才起作用

只有声明isErrorPage的页面才有Exception对象!

原文地址:https://www.cnblogs.com/postgredingdangniu/p/9639323.html