<blockquote id="shwb3"><ruby id="shwb3"></ruby></blockquote>
  • <small id="shwb3"><strong id="shwb3"></strong></small>

      1. <big id="shwb3"></big>
        1. 首页 > Web开发 > 详细

          JSP(工作原理,组成部分,指令标签,动作标签,隐式对象)

          时间:2019-03-26 22:25:08      阅读:35      评论:0      收藏:0      [点我收藏+]

          标签:客户   源码   所有   str   错误页面   err   text   语言   包名   

          目录

          JSP

          什么是JSP

          • JSP全名为Java Server Pages
          • 中文名叫java服务器页面
          • 它是在传统的网页HTML文件(.htm,.html)中插入Java程序段和JSP标记
          • 后缀名为(*.jsp)。
          • 其根本是一个简化的Servlet设计

          为什么要有JSP

          • 直接使用Html文件是没有办法输出Java当中的信息
          • 使用servlet来去输出一个网页非常的麻烦
          • 于是?#32479;?#29616;了jsp,又能写html,又能写Java代码

          JSP的工作原理

          设置JSP创建时的编码

          技术分享?#35745;? src=

          • 本质就是一个servlet
          • jsp在第一次被访问时会被Web容器翻译成servlet

          ? 1.第一次访问

          ? 2.index.jsp

          ? 3.index_jsp.java

          技术分享?#35745;? src=

          ? 4.编译成index_jsp.class运行

          技术分享?#35745;? src=

          ? 5.可以在Tomcat的work目录中可以找到

          ? 6.下次一访问时, 会看一下里面的内容有没有发生变化,如果变化了, ?#26377;?#32763;译加载

          ? 7.整个过程是全局web.xml当中有一个叫

          技术分享?#35745;? src=

          技术分享?#35745;? src=

          ? 8.翻译的过程就是JspServlet做的

          JSP的组成部分

          • 静态数据,如HTML
          • JSP脚本元素和变量
          • JSP指令,如include指令
          • JSP标签动作
          • 用户自定义标签

          JSP脚本元素和变量

          在JSP当中写Java代码
          <%java代码%>
              内部的java代码翻译到service方法的内部
          <%=java变量或表达式>
              会被翻译成service方法内部out.print()
          <%!java代码%>
              会被翻译成servlet的成员的内容
          JSP注释
          HTML注释:<!--注释内容-->
                  可见?#27573;?jsp源码、翻译后的servlet、页面
          Java注释
                  //单行注释  
                  /*多行注释*/
                  可见?#27573;?jsp源码 翻译后的servlet,页面中看不到
          Jsp注释
                  <%--注释内容--%>
                  可见?#27573;?jsp源码可见

          JSP指令

          什么是指令
          • JSP指令用于设置整个JSP页面的相关信息
          • 以及用于JSP页面与其它容器之间的通信
          page指令
          • 用于设定整个JSP页面的属性和相关功能

          ?

          page指令共有11个属性
          contentType
              contentType属性指定JSP页面的MIME和编码格式
          pageEncoding
              pageEncoding属性用来指定JSP文件的编码格式
          import
              在JSP中引入Java的包和类,多个包之间以逗号隔开
          session
              指定当前页面是否能获得当前用户的session对象
              缺省是true
              如果指定为false,那么在该页面中无法使用session,使用的话会提示500错误
          errorPage
              如果当前页面发生异常
              网页会重定向到errorPage所指定的页面进?#20889;?#29702;
          isErrorPage
              允许指定的JSP页面为错误处理页面
          language属性
              指定页面中使用的脚本语言种类
              目前只支持java
          extends
              用于指定该JSP生成的servlet继承?#38405;?#20010;父类
              必须指定包名加类名
          buffer
              用来设置输出流缓冲区
              缓冲区的作用就是为了提高IO?#38405;?    也就是说减少write的次数
          autoFlush
              用来指定当输出流缓冲区满了的时候,是否自动刷新缓冲区
          isThreadSafe
              缺省值为true
              指定该JSP文件是否支持多线程访问
          info
              用来设置该jsp文件的介绍信息
          isELIgnored
              用来标示是否支持EL表达式
              多个属性之间使用空格隔开
          include指令

          作用

          • 表示在JSP编译时插入一个包含文件或者代码的文件
          • include指令所包含的文件名不能是一个变量url,只能是静态的文件名

          静态包含

          • 将两个jsp页面接着到一起, 然后再翻译成servlet
          taglib指令

          作用

          • 声明JSP文件使用了标签库

          有哪些标签库

          • JSP标准标签库
          • 第三方标签库
          • 自定义标签库

          标签动作

          页面包含
          ?

          <jsp:include page="被包含的页面"></jsp:include>
          动态包含
          各自翻译自己的页面,然后再引入

          请求转发
          ?

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

          隐式对象

          jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕

          技术分享?#35745;? src=

          ?

          out
              out的类型:JspWriter
              out作用就是想客户端输出内容 out.write()
              out缓冲区默认8kb
              可以设置成0 代表关闭out缓冲区内容直?#26377;?#21040;respons缓冲区
              out写的内容写到out缓冲区当中
              最后再把out缓冲区当中的内容合并到response缓冲区当中
              
          request
              得?#25509;?#25143;请求信息对象
              
          response
              服务器向客户端的响应对象
              
          config
              服务器配置,可以取得初始化参数
              
          session
              用来保存用户会话的信息
              
          application
              所有用户的共享信息,就是servletContext
              
          page
              指当前页面转换后的Servlet类的实例
              
          pageContext
              jsp页面的上下文对象
              是一个域对象
                  setAttribute(String name,Object obj)
                  getAttribute(String name)
                  removeAttrbute(String name)
                  
              可以向指定的其他域中存取数据
                   setAttribute(String name,Object obj,int scope)
                   setAttribute(“name”,"lk",PageContext.REQUEST_SCOPE);
                   getAttribute(String name,int scope)
                   getAttribute("lk",PageContext.REQUEST_SCOPE)
                   removeAttrbute(String name,int scope)
                   findAttribute(String name)
                      自动到所有的域当中找数据
                      ?#26377;?#21040;大的?#27573;?#25628;索数据
                      ?#26469;?#20174;pageContext域,request域,session域,application域中获取属性
                      在某个域中获取后将不在向后寻找
                      
              可以获得其他8大隐式对象
                  pageContext.getRequest()
                  pageContext.getSession()
          exception
              表示JSP页面所发生的异常,在错误页中才起作用
              只有是错误页面的时候,才会有该对象

          JSP(工作原理,组成部分,指令标签,动作标签,隐式对象)

          标签:客户   源码   所有   str   错误页面   err   text   语言   包名   

          原文:https://www.cnblogs.com/mumuyinxin/p/10604216.html

          (0)
          (0)
             
          举报
          评论 一句话评论(0
          0条  
          登录后才能评论!
          ? 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
          打开技术之扣,分享程序人生!
                       

          鲁公网安备 37021202000002号

          t6娱乐平台官方
          <blockquote id="shwb3"><ruby id="shwb3"></ruby></blockquote>
        2. <small id="shwb3"><strong id="shwb3"></strong></small>

            1. <big id="shwb3"></big>
              1. <blockquote id="shwb3"><ruby id="shwb3"></ruby></blockquote>
              2. <small id="shwb3"><strong id="shwb3"></strong></small>

                  1. <big id="shwb3"></big>