Jsp 学习笔记
2013-05-23 23:23
211 查看
学完servlet之后,似乎jsp就有点弱了,在吃完jsp这顿快餐之后,顺便记录了学习过程中的要点:
1. jsp注释 和 html注释的区别
注释方式:jsp <%-- xxx --%> html&xml <!-- xxx -->
区别:jsp注释的内容不会打给浏览器,而html注释的内容会打给浏览器,因为浏览器认识这种注释。
2. Page指令
errorPage :用于jsp页面出错时,给用户一个友好提示界面。还可以在web.xml 文件中配置 <error-page>标签,来对web中所有的页面进行全局的配置,如出现500或404时,可以给用户一个友好的提示页面。
乱码问题:
pageEncoding="UTF-8" 指定web服务器用UTF-8码表翻译jsp -> servlet
contentType="text/html; charset=UTF-8" 指定浏览器用UTF-8码表翻译servlet -> html (由于服务器默认会将response也翻译为pageEncoding指点的码表,所以contentType可以不写)
3. include指令
静态包含(编译时包含):<%@ include file="/public/head.jsp" %> 在翻译成servlet时,就将head.jsp中的内容包含进 目标jsp,head.jsp
不翻译为单独的servlet
动态包含(运行时包含):<% request.getRequestDispatcher("/public/head.jsp").include(request,response) %> 在翻译成servlet时,就将head.jsp翻译为servlet,在运行时,动态地将head.jsp中的内容包含进
目标jsp,head.jsp会被翻译为单独的servlet
注意:静态包含性能比动态包含要好得多,所以尽量使用静态包含。
4. 九大隐式对象
out对象: 带有缓冲区,只有在 1.设置page指令的buffer属性 关闭了out对象的缓存功能 ,2. out对象的缓冲区已满,3. 整个jsp页面结束
,才将out对象缓冲区中的内容真正写入到servlet引擎提供的缓冲区(response)中。所以response调用的输出,总是比out对象先输出。
pageContext对象:
5. pageContext
1. 由于一个也是良好的jsp页面中不能出现一行java代码,为了移除这些java代码,就需要用到自定义标签库。
2. pageContext(page域) 的作用范围: 创建jsp页面时(生) -> 翻译成servlet时(死) ,它是最小的域对象。
3. 查找数据: pageContext.findAttribute("data"); //查找顺序 page -> request -> session -> application (EL表达式就是这个原理)
6. Jsp标签
1. forward标签<jsp: forward>: 根据mvc模式,应将首页请求交给servlet处理,但是,由于在web.xml 中不能配置servlet,所以只能在web.xml
中配置首页的jsp,然后在首页的jsp中,使用forward标签跳转到一个servlet ,进行处理。
1. jsp注释 和 html注释的区别
注释方式:jsp <%-- xxx --%> html&xml <!-- xxx -->
区别:jsp注释的内容不会打给浏览器,而html注释的内容会打给浏览器,因为浏览器认识这种注释。
2. Page指令
errorPage :用于jsp页面出错时,给用户一个友好提示界面。还可以在web.xml 文件中配置 <error-page>标签,来对web中所有的页面进行全局的配置,如出现500或404时,可以给用户一个友好的提示页面。
乱码问题:
pageEncoding="UTF-8" 指定web服务器用UTF-8码表翻译jsp -> servlet
contentType="text/html; charset=UTF-8" 指定浏览器用UTF-8码表翻译servlet -> html (由于服务器默认会将response也翻译为pageEncoding指点的码表,所以contentType可以不写)
3. include指令
静态包含(编译时包含):<%@ include file="/public/head.jsp" %> 在翻译成servlet时,就将head.jsp中的内容包含进 目标jsp,head.jsp
不翻译为单独的servlet
动态包含(运行时包含):<% request.getRequestDispatcher("/public/head.jsp").include(request,response) %> 在翻译成servlet时,就将head.jsp翻译为servlet,在运行时,动态地将head.jsp中的内容包含进
目标jsp,head.jsp会被翻译为单独的servlet
注意:静态包含性能比动态包含要好得多,所以尽量使用静态包含。
4. 九大隐式对象
out对象: 带有缓冲区,只有在 1.设置page指令的buffer属性 关闭了out对象的缓存功能 ,2. out对象的缓冲区已满,3. 整个jsp页面结束
,才将out对象缓冲区中的内容真正写入到servlet引擎提供的缓冲区(response)中。所以response调用的输出,总是比out对象先输出。
pageContext对象:
5. pageContext
1. 由于一个也是良好的jsp页面中不能出现一行java代码,为了移除这些java代码,就需要用到自定义标签库。
2. pageContext(page域) 的作用范围: 创建jsp页面时(生) -> 翻译成servlet时(死) ,它是最小的域对象。
3. 查找数据: pageContext.findAttribute("data"); //查找顺序 page -> request -> session -> application (EL表达式就是这个原理)
6. Jsp标签
1. forward标签<jsp: forward>: 根据mvc模式,应将首页请求交给servlet处理,但是,由于在web.xml 中不能配置servlet,所以只能在web.xml
中配置首页的jsp,然后在首页的jsp中,使用forward标签跳转到一个servlet ,进行处理。
相关文章推荐
- HTML+CSS+JavaScript+JQuery+JSP学习笔记
- java学习笔记——jsp简单方法读取txt文本数据
- JSP Servlet学习笔记——使用fileupload上传文件
- JSP学习笔记(二十九):利用urlrewrite重写url
- JSP学习笔记(7)_xml文件解析
- [读书笔记]JSP_Servlet学习笔记-JSTL
- JSP&Servlet学习笔记----第6章
- struts2学习笔记之一(初识jsp)
- JSP&Servlet学习笔记(一)
- JSP学习笔记(6)_中文乱码问题
- jsp基础学习笔记,喜欢的看看
- [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]
- JSP学习笔记(2)-JSP语法
- 学习EJB for JBoss 3.2笔记(2)测试jsp
- Jsp&Servelet 学习笔记(3)
- Java学习笔记--JSP
- JSP学习笔记(九十):eclipse3.4中建立控制台程序
- jsp---学习笔记(一)
- JavaWeb - JSP 学习笔记(一)
- 基础JSP学习笔记