Jsp 学习笔记

学完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 ,进行处理。

你可能感兴趣的:(JSP笔记,jsp攻略,jsp要点)