一、 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 ...
随机推荐
- 使用EF CodeFirst连接MySql数据库
如何使用EF CodeFirst连接MySql数据库? 我们这篇文章介绍怎么使用EF连接MySql 作者的环境 VS2017.Win10.MySql5.x 前言 一般在EF中,默认是使用SqlServ ...
- Excel核心技巧【干货】
进入职场后发现,几乎有很大一部分时间都耗在了表格上. Excel的存在是为了更高效工作,但庞大的数据处理却成了你每晚加班的“凶手”? 其实,从数据整理到数据分析,只要掌握20%的Excel技巧,就足以 ...
- REST风格的应用程序实现
莫笑我老土,因为我确实是最近才听说REST风格的,以前就是觉得 /category/product/pid 这样的地址非常的漂亮,但是那只是表象罢了,了解深入以后,发现必须有一个客户端的Ajax En ...
- 了解java虚拟机—串行回收器(6)
串行回收器 串行回收器只有一个工作线程,串行回收器可以在新生代和老年代使用,根据作用于不同的堆和空间,分为新生代串行回收器和老年代串行回收器. 1.新生代串行回收器 串行收集器是所有垃圾回收器中最古老 ...
- Java多线程——之一创建线程的四种方法
1.实现Runnable接口,重载run(),无返回值 package thread; public class ThreadRunnable implements Runnable { public ...
- 通过这些示例快速学习Java lambda语法
对于那些不熟悉函数式编程的人来说,基本的Java lambda语法起初可能有点令人生畏.但是,一旦将lambda表达式分解为它们的组成部分,语法很快就会变得有意义并变得非常自然. Java中lambd ...
- Dubbox分布式框架
一:简介:前身是阿里巴巴的一个开源的项目,后来停止维护,由当当网继续维护,它致力于rpc远程的调度方案.是一个服务框架 二:执行原理图: 节点角色说明: · Provider: 暴露服务的服务提供方. ...
- linux上SVN服务器搭建后windows无法连接到服务器
忙了一天,linux搭建svn服务器,搭建好后windows一直无法连接,总觉得自己对: 原因: 1.以后禁止用sublime在本地编辑好后用XFTP上传到服务器(这样会导致文件权限问题,不能替换成功 ...
- python内置函数每日一学 -- all()
all(iterable) 官方文档解释: Return True if all elements of the iterable are true (or if the iterable is em ...
- ionic1 项目微信支付
使用的插件参照地址:https://github.com/xu-li/cordova-plugin-wechat:(这里包含微信登录,微信分享和微信支付) 插件安装 cordova plugin ad ...