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内置对象

jsp frame

19 jsp——jsp的转发标签

Tip:JSP标签也称之为Jsp Action(JSP动作)元素

JSP_动作和隐式对象

JSP系列:JSP进阶-EL表达式和JSP标签