码迷,mamicode.com
首页 > Web开发 > 详细

jsp技术

时间:2018-05-12 03:08:33      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:tco   8K   请求   size   引入   struts2   图片   tom   utf-8   

2018-05-11  22:21:16

jsp脚本形式

  1)<%  %>

  2)<%=  %>

  3<%!  %>

  当jsp文件被翻译后,可以在Tomcat/work下找到翻译后的xxx_jsp.java文件,打开发现技术分享图片

  导入Tomcat源代码文件查找HttpJspBase发现

技术分享图片

  HttpJspBase继承了HttpServlet类,也就是说jsp的本质是servlet。

  再返回来看xxx_jsp.java文件,会发现

  <%=  %>实质是out.print()

  <%  %>内的语句书写在servlt方法内部

  <%!  %>内容书写在成员变量的位置,因此可以在其中创建方法

 对比三种注释方式:

  html:  <!--注释内容-->  可见范围:jsp源码,翻译后的Servlet,浏览器显示的源码

  java:  //  /**/        可见范围:jsp源码,翻译后的Servlet

  jsp:  <%--注释内容--%>可见范围:jsp源码

  可见jsp的注释形式最安全

jsp运行原理

  jsp在第一次被访问时会被Web容器翻译成servlet,再执行

  过程:

    第一次访问---->xxx.jsp---->xxx_jsp.java---->编译运行

jsp指令

  1)page指令

    language 只能是java 不支持其他语言

    contentType:文本类型  实质是response.setContentType("text/html; charset=UTF-8")

    pageEncoding:当前jsp文件的编码

      当没有contentType时找pageEncoding,因此可以不写contentType

    session:是否在jsp翻译时自动创建session

    import:导包

    errorPage:错误(500)时往某页面跳转

    isErrorPage:当前页面是否为处理错误的页面

  2)include指令

    页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中

    格式:<%@ include file="被包含的文件地址"%>

  3)taglib指令

    在jsp页面中引入标签库(jstl标签库、struts2标签库)

    格式:<%@ taglib uri="标签库地址" prefix="前缀"%>

jsp内置/隐式对象

  out      页面输出  out缓冲区默认大小8kb,可设置为0kb,将其关闭,内容将直接写在response缓冲区

  request    得到用户请求信息

  response      服务器向客户端的回应信息

  config      服务器配置,可以取得初始化参数

  session      用来保存用户的信息

  application    所有用户的共享信息

  page       指当前页面转换后的Servlet类的实例

  pageContext  JSP的页面容器  域对象,作用范围当前jsp页面,也可以向指定的其他域存取对象

    pageContext.findAttributr("name"),从小到大搜索四个域(request,session,pageContext,appliaction)中的name,找到一个后停止

    pageContext.get...方法可以得到其他八个隐式对象

  exception    表示JSP页面所发生的异常,在错误页中才起作用

jsp表现

  1)页面包含(动态包含):<jsp:include page="被包含的页面"/>

 

     举例A中包含B来理解静态包含和动态包含

      静态包含:将AB页面合在一起进行翻译

      动态包含:先翻译A后编译运行,到<jsp:include page="被包含的页面"/>语句,再翻译B,然后对B编译运行

  2)请求转发:<jsp:forward page="要转发的资源" />

 

jsp技术

标签:tco   8K   请求   size   引入   struts2   图片   tom   utf-8   

原文地址:https://www.cnblogs.com/xiongdaren/p/9027075.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!