一、 JSP概述 二、JSP的语法结构 三、JSP内置对象
一、JSP概述
###<1>概念
java服务器页面
可以编写动态页面
其内部是以HTML标签为主,可以在HTML标签嵌套java代码
jsp文件以.jsp为后缀
jsp本质上就是一个Servlet
hello.jsp ----> tomcat---->web.xml (后缀匹配:*.jsp) ----> JspServlet ---->转译成hello_jsp.java(hello_jspSerlvet serice())的Servlet
hello_jspServlet(自动拼接了复杂的动态响应页面)
###<2>特点
HTML:jsp可以生成动态页面
JavaScript:jsp可以直接和服务器进行交互
Servlet:jsp很方便编写或者修改HTML页面(响应页面)
sun servlet ---- jsp --- serlvet+jsp
# 二、JSP的语法(重点)
###<1>申明定义区
格式:会被翻译成Servlet的成员属性
<%!
定义成员属性和方法
%>
作用:在此申明定义的变量和方法,在service方法中可以直接使用
###<2>java代码区
格式:其内部的java代码会被翻译到Servlet的service方法中
<%
编写任何的java代码(不能在此处申明方法)
%>
作用:执行任何java代码
###<3>输出表达式区
格式:此区域的数据被翻译到Servlet的service方法中,并调用输出流直接输出,reponse.getWrite().write(表达式)
<%=表达式%> 表达式后面不可以根分号,并且只能占用一行
作用:reponse.getWrite().write(表达式),将数据直接输出到页面
###<4>指定和动作
语法格式:
<%@ 指定的名称 属性=“属性值” 属性2=“属性值2” ....%>
4.1 page指令(实际开发中,page指定会默认创建,不去更改其配置)
设置当前.jsp页面的配置参数
<%@ page 属性=“属性值” 属性2=“属性值2” ....%>
language="语言"
jsp页面中可以嵌入的语言类型
contentType="页面内容编码格式"
等价于:response.setContentType(编码格式);
pageEncoding="当前页面的编码格式"
当前jsp文件本身的编码格式
seesion="true"
当前jsp页面是否可以直接使用session对象
import="类全路径"
当前jsp页面中导入其他的工具包
errorPage="错误页面的url"
当前jsp页面发生错误时,跳转的错误处理页面
iserrorPage="true|false"
当前jsp页面是否可以直接使用exception对象
4.2 include指令(重点)
可以将一个jsp页面或者html页面导入另一个jsp页面中
<%@ include 属性=“属性值” 属性2=“属性值2” ....%>
file="导入页面的位置"
指定导入到当前jsp页面的额页面信息

4.3 taglib指令(重点)
用来扩展JSP程序的标签元素,引入其他功能的标签库文件
格式:
<%@taglib uri=“tagLibary” prefix=“prefix”%>
4.4 include动作
jsp:include动作用于引入另一个JSP程序或HTML文件等
执行到include时,被include的文件才会被JSPEngine编译。
如果include的是jsp文件,那它不会被转换成Servlet文件
格式如下:
<jsp:include page=“URLSpec” flush=“true”/>
<jsp:include page=“URLSpec” flush=“true”>
<jsp:param name=“key” value=“value”/>
</jsp:include>
4.5 forward动作
jsp:forward 实现请求的转发
格式如下:
<jsp:forward page=“URLSpec” flush=“true”/>
<jsp:forward page=“URLSpec” flush=“true”>
<jsp:param name=“key” value=“value”/>
</jsp:forward>
在目标页面中,从request中获取数据的方式是:request.getParameter(String key);
4.6 指定和动作的区别
include指令是在JSP程序的转换时期就将file
属性所指定的程序内容嵌入,然后再编译执行;
include动作在转换时期是不会被编译的,只有
在客户端请求时期如果被执行到才会被动态的
编译载入
一、 JSP概述 二、JSP的语法结构 三、JSP内置对象的更多相关文章
- jsp中的四个作用域,九个内置对象分别是什么?
九大内置对象: 内置对象(又叫隐含对象),就是在jsp中,不需要创建(由服务器<容器>来创建),可以直接使用的对象. 对象 含义 类 作用域 request 请求对象 类型 javax.s ...
- JS基础-语法+流程控制语句+函数+内置对象【数组】
JS语法: Javascript基本数据类型:undefined/null/Boolean/number/string 复杂数据类型:object typeof用来检测变量的数据类型 typeof的使 ...
- java web学习总结(二十五) -------------------JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- JavaWeb---总结(十七)JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- JavaWeb学习总结(十七)——JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- JavaWeb学习----JSP内置对象详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- javaWeb学习总结(8)- JSP中的九个内置对象(4)
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...
- JavaWeb学习 (十六)————JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- JavaWeb(十七)——JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
随机推荐
- 词云-wordcloud
import jiebabook = "2015.txt"txt = open(book).read()ex = {'不是','就是','的话','1.1','docin','ww ...
- smarty 模板标签
smarty 模板标签 变量标签 数组变量标签 变量调节器 条件标签 循环标签 数组变量标签 模板加载标签 预定义变量标签 常量标签
- .16-浅析webpack源码之编译后流程梳理
这节把编译打包后的流程梳理一下,然后集中处理compile. 之前忽略了一个点,如下: new NodeEnvironmentPlugin().apply(compiler); // 引入插件加载 i ...
- PetaPoco源代码学习--1.使用的Attribute介绍
新版本的PetaPoco使用特性进行注解的形式来代替的老版本的映射类的形式.新版本中使用的特性主要包括以下几种: 名称 用途 TableNameAttribute Class 指定POCO实体类对 ...
- Java - "JUC线程池" Callable与Future
Java多线程系列--“JUC线程池”06之 Callable和Future Callable 和 Future 简介 Callable 和 Future 是比较有趣的一对组合.当我们需要获取线程的执 ...
- apache伪静态原理图
- HDU4725(KB4-P SPFA+LLL+SLF优化)
The Shortest Path in Nya Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- python学习之老男孩python全栈第九期_day005知识点总结
1. 数据类型划分: (1) 不可变数据类型(可哈希): 元组, bool, int(123 就是123,不会变成其他数), str, 字典的keys (2) 可变数据类型(不可哈希): 列表list ...
- 你不知道的JavasScript上篇·第三章·对象
1.Object.defineProperty()&&getter.setter Object.defineProperty(目标对象,属性名(string型),{ get:funct ...
- MongoDB -的连接和使用
MongoDB 的 连接使用 在节我们将讨论 MongoDB 的不同连接方式. 启动 MongoDB 服务 在前面的,我们已经讨论了如何启动 MongoDB 服务,你只需要在 MongoDB 安装目录 ...