zoukankan      html  css  js  c++  java
  • JSP

    JSP

    1. 概念:

    JSP(Java Server Page),java服务器端页面,可以同时定义HTML标价,又可以定义java代码,JSP本质上就是一个Servlet,.jsp文件在转化成.java文件时,生成的.java文件继承了 org.apache.jasper.runtime.HttpJspBase,而HttpJspBase继承了HTTPServlet,因此说jsp本质上就是一个Servlet,JSP的执行的过程如下:

    1. 服务器解析请求消息,找到是否有index.jsp资源
    2. 如果有就将index.jsp转换为.java文件
    3. 编译.java文件生成.class字节码文件

    2. JSP指令

    1. 作用:用于配置JSP页面,导入资源文件等

    2. 格式:<%@ 指令名称 属性名1=属性值1 属性名2=属性值2....... %>

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      
    3. 分类(指令名称):

      1. page:配置jsp页面

        • contentType:设置文件的MEMI文件类型以及字符集编码

        • pageEncoding:当前文件的编码方式

        • import:导入java资源包

        • errorPage:当前页面发生异常后指定转到的页面

        • iserrorPage:值为true可以使用内置对象exception,值为false或者不标注该属性不可以使用内置对象exception

      2. include:用来包含页面,导入页面的资源文件

      3. taglib:导入资源,比如导入jstl标签库

    3. JSP注释

    <%-- code here --%>

    4. JSP脚本

    JSP定义java代码的方式,不同的JSP脚本最后转换为java文件的位置不一样

    1. <% java代码 %>:定义的java代码在service方法中,service方法中可以定义什么,就可以在这里定义什么
    2. <%! java代码 %>:这种方式定义的java代码,转换后变为java类的成员变量
    3. <%= java代码 %>:这种方法定义的java代码,会输出到页面,输出语句可以定义什么,这种脚本就可以定义什么

    3. JSP的内置对象

    在JSP页面中不用创建,不用获取就可以直接使用的对象,JSP一共有9个内置对象

    1. Request对象

    2. Response对象

    3. out对象:字符输出流对象,可以将数据输出到页面,与Response.getWriter()类似,但是二者之间还有区别:

      1. 在Tomcat服务器真正给客户端作出响应之前,会先找到response对象的缓冲区数据,再找out的缓冲区数据,也就是response的数据先于out输出
      2. response.getWriter()的数据总是先于out.writer的数据被输出
      变量名 真实的类型 作用
      pageContext PageContext 当前页面共享数据,还可以用来获取其他的八个内置对象
      request HttpServletRequest 一次请求访问多个资源(转发)
      session HttpSession 一次会话的多个请求间共享数据
      application ServletContext 所有用户间共享数据
      response HttpServletResponse 响应对象
      page Object 当前页面(Servlet)的对象,this
      out JSPWriter 输出对象,数据输出到页面
      config ServletConfig Servlet的配置对象
      exception Throwable 异常对象
  • 相关阅读:
    jquery 读取file 图片文件的宽高
    log4net配置要点
    js 公用插件,教科书级的写法
    mvc4 发布,遇到 403.14 问题,并且iis提示打开目录浏览。。。解决办法
    js 处理 html 标签转义 处理json中含有的ascii 编码
    sqlserver ,left join 不仅可以join表,还可以是一个结果集
    .net MVC3 页面和 action 传值问题
    java web工程 数据库操作报驱动类找不到的错误
    MySQL快速构造百万数据
    python之eval函数的应用实例
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10802323.html
Copyright © 2011-2022 走看看