jsp笔记3jsp运行原理

jsp第一次访问是会被翻译成servlet, 所以第一次访问通常会比较慢,但第二次访问,jsp引擎如果发现jsp没有变化,就不再会翻译,而是直接调用。

jsp执行引擎:将jsp翻译成servlet的程序。

jsp引擎在调用jsp对应的_jspServlet时,会传递或创建9个与web开发相关相关的对象供_jspServlet使用。

九大隐式对象:

request  response session application config page  exception out pageContext

1. out隐式对象

jps页面中out的隐式对象的类型为jspWriter,jspWriter相当于带缓存功能的PrintWriter.

out.write("A")

response.getWriter.write("B");

输出的结果可能是BA,因为A写入缓存区,B也写入缓存区,当jsp结束的时候,A写入B的缓存区,显示到界面,所以最后显示结果为BA, 建议在开发的过程中用隐式对象的方式进行显示。

2.pageContext

2.1 代表jsp页面的运行环境

2.2 对象封装了对其他8大隐式对象的引用

2.3 提供的方法如下:

getException

getPage

getRequest

getResponse

getServletConfig

getServletContext

getSession

getOut

用在自定义标签开发技术中。传递参数的时候只传递pageContext

2.4 其他方法

pageContex.setAttribute();  

pageContext是域对象,涉及生命周期。

在web开发中涉及pageContext/Request/Session/ServletContext四个域。

findAttribute()

pageContext.findAttribute()    //page request session application

request.setAttribute("data","michael");

String data = pageContext.getAttribute("data",PageContext.REQUEST_SCOPE);

out.write(data);

pageContext.findAttribute("data"); // page request session application

el表达式

${data}     ===   pageContext.findAttribute("data"); // page  request  session application

forward    include方法,简化RequestDispatcher.forward();

方法接收的资源以"/"开头,"/"代表当前web应用

pageContext.forward("/1.jsp")

pageContext.include("/foot.jsp")

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    91数据阅读 8,894评论 0 13
  • 1.什么是JSP (1)jsp全称是Java Server Pages,它和Servlet技术一样都是sun公司定...
    yjaal阅读 9,128评论 5 99
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,686评论 18 399
  • Jsp技术总结 1. 什么是JSP JSP即Java Server Pages,它和servlet技术一样...
    91数据阅读 5,658评论 0 18
  • 树苗晚上跟奶奶睡前互动,睡着之后会独立一个人睡到天亮。睡着之前,喜欢翻来覆去叨叨他喜欢吃的东西:山楂片、山楂条、一...
    树花果奶奶阅读 3,669评论 0 3

友情链接更多精彩内容