jsp基础知识学习

2019-03-19  本文已影响0人  水瓶And双子

1. jsp基础知识学习

1.1. jsp三种注释

  1. html注释
  2. java注释// 或者 /* */
  3. jsp注释<%-- --%>

1.2. jsp脚本

  1. <%java代码%> 该内部的java代码翻译到service方法内部。
  2. <%=java变量和表达式%> 会翻译成service方法内部out.print()
  3. <%!java代码%> 会被翻译成servlet成员的内容。

1.3. jsp指令学习

  1. page指令,属性最多,不过了解即可。
  2. 要用到include指令,这样做大大减少了代码量,并且改一处全部都会改。
<%@ include file="header.jsp"%>
  1. taglib指令引入标签库
<!--在jsp页面中引入标签库(jstl标签库,struts2标签库)-->
<!--格式:-->
<%@taglib uri="标签地址库" pretix="前缀"%>
<前缀:xxx></前缀:xxx>

1.4. web.xml配置错误页面

<error-page>
    <error-code>404</error-code><!-- 当出现404错误信息时会进入error.jsp页面 -->
    <location>/error.jsp</location>
</error-page>

1.5. jsp九大内置/隐式对象

​ request、response、config、out、exception、page、application、pageContext、session。所谓的内置对象就是jsp已经定义好了,直接可以用。

1.5.1. out对象

jsp页面的三种输出方式:html、jsp内置对象调用输出、java输出

031901.png

但是三者输出的顺序有些问题,可以看出c先输出,之后abd再输出。原因:

031902.png

从图中可以看出其他三种的输出都是先放到write缓冲区中然后再放到response缓冲区中,而c直接进入了response缓冲区,故最先输出。out的缓冲区为buffer在page指令中可以设置大小,默认为8kb。如果设置为0kb那么输出直接到response缓冲区中。

1.5.2. pageContext对象

031903.png

page域<request域<session域<application域。

pageContext.getOut();
pageContext.getRequest()

2. 四大域对象总结

3. 面试题---静态包含和动态包含

031904.png

静态包含:

<%@ include file=”包含页面”%>

动态包含:

<jsp:include page=" " flush="true"/>

4. 请求转发

<jsp:forward page="要转发的资源" />

这是转发,url地址不会改变。

上一篇 下一篇

猜你喜欢

热点阅读