JSP原理及执行过程

  1. 流程图分析

  • 用户发起请求,用户通过浏览器访问jsp页面,浏览器将HTTP协议的请求部分发送到服务端.
  • 服务端获取请求部分,分析请求,发现本次的请求的的是jsp页面,jsp引擎按照内部规定,将jsp页面转换为一个servlet文件,并生成java文件,index_jsp.java,

    转换后的java文件中有init,service,destroy方法,在service方法中,将HTML标签原封不动输出到浏览器中,碰到java代码,复制到service方法中

JSP如何出现

如果开发中直接使用servlet对客户端响应,是难以维护的,因为它把html标签全部写到java文件中,更改一个小的部件,就要修改servlet文件.

JSP语法

  1. JSP脚本段

    1. 存放定义型的语句
    <%! %>
    1. 普通的Java语句
    <%  %>
    1. 可以计算出结果的表达式
    <%= %>
  2. JSP的注释

    <%-- JSP的注释 --%>
    • 注意:JSP中实现注释,优先使用JSP注释,效率高,转换为servlet的时候,不需要处理
  3. JSP指令

    1. 指令格式

      <%@ 指令名称 属性名1=”属性值1” 属性名2=”属性值2”  属性名3=”属性值3” %>
    2. 指令的分类(3个)

      • page:告诉JSP引擎如何将当前JSP转换为Servlet

        • import="cn.itcast.domain.Product 导入其他JAVA对象
        • language="java": 如果JSP中出现脚本,采用的语言类型,目前仅支持JAVA
        • contentType="text/html;charset=UTF-8":告诉浏览器,本次响应内容类型和编码
        • pageEncoding="UTF-8" :告诉JSP引擎,当前页面采用的编码格式
        • autoFlush="true": 是否自动刷新
        • buffer="8kb": response缓存区大小
        • session="true": 如果获取不到sessionid是否创建session
        • errorPage="error.jsp": 当前页面发生错误之后,处理错误页面
        • isErrorPage="true":当前页面是错误页面
      • include:包含其它文件
      • taglib:引用其它的标签库
    3. 内置对象(9个)

      • application
      • config
        • JSP相当于servlet可以为servlet配置参数,也可以为JSP配置参数
      • out
        • 2个out不是同一个对象,response对应的out优先级高
        • JSP中默认使用内置的out对象
      • request
      • response
      • session
      • exception
        • 需要将当前页面的page指令下设置isErrorPage="true"才能使用
        • 作用:开发阶段,通过JSP中获取exception中的信息判断JSP出错异常信息
      • pageContext
        • 获取其它8个内置对象
        • 当作域对象使用
        • 操作其它域对象
        • pageContext.findAttribute(name)
        • pageContext>request>session>application
      • page
        • 代表this(当前访问的servlet)
    4. JSP域对象

      • pageContext
      • request
      • session
      • application
    5. JSP动作

      <jsp:forward page=""></jsp:forward>
      <jsp:include page=""></jsp:include>

JavaWeb之JSP入门的更多相关文章

  1. JAVAWEB的基本入门(JSP、Tomcat)>从零开始学JAVA系列

    目录 JAVAWEB的基本入门(JSP.Tomcat) 使用idea创建web项目的两种方式 1.直接创建一个web项目(这样创建好的项目可以直接运行) 2.创建一个普通的java项目并配置web模块 ...

  2. JSP入门必读

    JSP基础知识:转自老师上课梳理的笔记,希望对大家有所帮助.有什么不妥当的地方还望大家批评指正. 特别适用于JSP入门的人员使用.1.JSP [1] 简介1.1 HTML    HTML擅长显示一个静 ...

  3. 九、JSP入门(1)

    JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的 ...

  4. day11(jsp入门&Cookie&HttpSession&一次性图片校验码)

    day11 JSP入门   1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. ...

  5. JavaWeb之Servlet入门(二)

    1. 准备 在JavaWeb之Servlet入门(一)中,我们完成了第一个Servlet程序,完成了从URL到后台控制器的中转过程,接下来我们延续JavaWeb之Servlet入门(一)学习下如何传参 ...

  6. Jsp入门学习笔记

    #Jsp入门 一.JSP基础语法 1.JSP指令: page inlcude taglib 2.JSP注释: a.html注释: <!-- abcdefghijklmn --> b.jsp ...

  7. JSP入门:介绍什么是JSP和Servlet(转)

    转自:http://developer.51cto.com/art/200907/134506.htm JSP入门:什么是jsp? JSP(Java Server Pages)是由Sun Micros ...

  8. Javaweb之Jsp

    1. JSP是什么? JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. 2. JSP带 ...

  9. javaweb 与jsp页面的交互流程 (初次接触时写)

    javaweb 与jsp页面的交互流程 javaweb项目目录 1. javaweb项目的一般目录: 2. jsp 页面一般情况下放在 top(前台页面) back(后台页面) 3. 后台代码 放在s ...

随机推荐

  1. C与C++结构体的区别

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  2. Golang调用windows下的dll动态库中的函数

    Golang调用windows下的dll动态库中的函数 使用syscall调用. package main import ( "fmt" "syscall" & ...

  3. Kali Linux使用Aircrack破解wifi密码(wpa/wpa2)

    Kali Linux能做很多事,但是它主要以渗透测试及'破解wifi密码'闻名. 如果你使用Macbook 请看 使用macbook破解WPA/WPA2 wifi密码 要求: 安装有Kali Linu ...

  4. ORM版,学生信息管理单表查询..

    mysql 建学生表及课程表 添加内容 view.py from django.shortcuts import render,HttpResponse,redirect from . import ...

  5. 简述Java面向对象三大特征:封装、继承、多态

    封装: 把对象的全部属性和服务结合在一起,形成不可分割的独立单位: 尽可能隐藏内部细节.(数据隐藏.隐藏具体实现的细节)     public.private.protected.default pu ...

  6. SPOJ1812 Longest Common Substring II

    题意 A string is finite sequence of characters over a non-empty finite set Σ. In this problem, Σ is th ...

  7. oracle truncate闪回数据库恢复

    1.创建试验表 conn scott/tiger create table truncate_test as select * from user_objects; select count(*) f ...

  8. ArcGIS相关软件安装的顺序

    1.IIS的安装 2.Server的安装 3.Desktop的安装 4.Lisence的安装 5.ArcGIS的破解配置 6.Oracle文件的配置 7.ArcGIS服务器的部署 8.连接Oracle ...

  9. Volley请求图片

    ImageRequest imageRequest = new ImageRequest(Config.USER_ASSETS_URL + md5(userid) + "/images/av ...

  10. CAN总线远程帧和错误帧

    远程帧 通常,数据传输是由数据源节点(例如,传感器发出数据帧)自主完成的.但也可能存在目标节点向源节点请求发送数据的情况.要做到这一点,目标节点需发送一个远程帧,其中的标识符应与所需数据帧的标识符相匹 ...