JSP
Posted 大景少
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP相关的知识,希望对你有一定的参考价值。
JSP——java server page,从用户角度看是一个网页,底层是java类,它继承了Servlet,所以说jsp其实是一个Servlet
三大指令:<%@ %>
page:pageEncoding:指定当前JSP页面的编码,这个编码是给服务器看的,服务器需要知道当前JSP使用的编码,不然服务器无法正确把JSP编译成java文件。
contentType:属性与response.setContentType()方法的作用相同它会完成两项工作,一是设置响应字符流的编码,二是设置contentType响应头。它会使响应中出现response.setContentType(“text/html;charset=utf-8”),text/html可以对应Tomcat的web.xml里面的最下面的mime-mapping标签,标识这个文件是什么类型的文件
language:表明jsp页面中可以写java代码
extends:用于指定jsp翻译成Java文件后继承的是谁
import:导包,一般不用,直接用快捷键
session:只能写boolean值,用于控制在这个jsp页面里面直接使用session对象
errorPage:指的是错误的页面,当前页面错的话就会跳转到指定的页面,与下面的属性连用
isErrorPage:boolean值,true代表可以接收错误页面,在被跳转的页面里面设置
include:表示静态包含,即目的是把多个JSP合并成一个JSP文件,include指令只有一个属性:file,指定要包含的页面,例如:<%@include file="b.jsp"%>,背后的代码时是全部将另外一个页面的标签都包括进来
taglib:在JSP页面中使用第三方的标签库时,需要使用taglib指令来"导包"
引入JSTL标签库:<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
url:标签库的路径,prefix:标签库的别名
七大动作:通常只使用include,其他都比较少使用
include:<jsp: include page=“header.jsp" flush="true" />flush属性: 用true ,表示页面可刷新。默认为false;动态包含,只包含body标签的里面的内容
forward:可以转发网页,<jsp:forward page="header.jsp" />
param:传递参数,通常配合include或forward(双标签)使用,页面通过request.getParameter (“参数名”)获取值,其实就将参数设置到请求对象里面<jsp:param value=“参数值” name=“参数名”/>,该标签可以作为其他标签的子标签,为其它标签传递参数。
useBean:页面初始化一个JavaBean (JavaBean是一个遵循特定写法的Java类)。
getProperty:取出属性值:<jsp:getProperty name=“对象名(引用)" property="属性名" />
setProperty:为javaBean设置值<jsp:setProperty name=“对象名(引用)” property=“属性名” value=“值" />
plugin:<jsp:plugin>:用于指定在客户端运行的插件
九大内置对象:<% %>
pageContent:本页面的作用域,不能跨页面取值设值
request:请求,仅限于一次请求,如果重定向,会丢失数据
session:会话
application:上下文
上面4个也称为:四大作用域,可以存储值,setAttribute(key,value),get~
respond:响应respond.getWriter().write("text");优先于out打印
out:输出,相当于PrintWriter的ps对象,打印时会先将out对象输出的内容放置到response的缓冲区,所以比respo直接输出要滞后
page:相当于this
exception:Throwable异常,只有使用了isErrorPage=true才能调用
config:相当于init,初始化config.getInitParameter(name);
静态包含与动态包含的区别:
include指令:静态包含
编译期把两个文件组合起来,最终只有一个文件
不支持刷新
不能有重复的标签
速度快
include动作:动态包含
运行期组合两个文件形成一个页面,实际上还是两个文件
支持刷新
可以重复
速度稍慢
以上是关于JSP的主要内容,如果未能解决你的问题,请参考以下文章
JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象