一、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页面的额页面信息
![](1.png)

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内置对象的更多相关文章

  1. jsp中的四个作用域,九个内置对象分别是什么?

    九大内置对象: 内置对象(又叫隐含对象),就是在jsp中,不需要创建(由服务器<容器>来创建),可以直接使用的对象. 对象 含义 类 作用域 request 请求对象 类型 javax.s ...

  2. JS基础-语法+流程控制语句+函数+内置对象【数组】

    JS语法: Javascript基本数据类型:undefined/null/Boolean/number/string 复杂数据类型:object typeof用来检测变量的数据类型 typeof的使 ...

  3. java web学习总结(二十五) -------------------JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  4. JavaWeb---总结(十七)JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  5. JavaWeb学习总结(十七)——JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  6. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. javaWeb学习总结(8)- JSP中的九个内置对象(4)

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  8. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

  9. JavaWeb学习 (十六)————JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  10. JavaWeb(十七)——JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

随机推荐

  1. window对象方法之setTimeout(),setInterval()

    window中的这两个方法是比较重要的,在许多的设计中会使用到这两个方法.比如使用在倒计时抢购中. 首先来说说这两个方法的用法吧! 一:window.setTimeout(); setTimeout( ...

  2. input输入框file类型第二次不触发onchange事件的解决办法,简单有效

    在网上看了很多办法,现在将网上大部分说法总结如下: 网上说法: 原因:选择一次后onchange事件没有绑定到input标签上:    解决办法:拷贝一份input标签的副本,每次选择后对原input ...

  3. 在jQuery定义自己函数

    刚才有学习<在jQuery定义自己的扩展方法函数>http://www.cnblogs.com/insus/p/3415312.html .现在想练习一下定义自定义函数.经重构之后,还是发 ...

  4. sqlserver 删除表中数据 id 从1开始

    TRUNCATE  TABLE  TbName   --TbName是表名 但如果TbName中某些字段与其它表有主外键关系,会报错: 无法截断表 'Plants',因为该表正由 FOREIGN KE ...

  5. java的锁机制——synchronized

    一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁): 如果这个时候同步对象的锁被其他线程拿走了,他(这个线 ...

  6. [转载]常用 SQL Server 规范集锦

    转载者注:据说是某公司(携程)内部规范. 常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数 ...

  7. Navicat相关应用及注意事项

    一.MySQL数据类型 1.数值型 SMALLINT: 2个字节 INT: 4个字节      // age int(10) INTEGER:INT的同义词 BIGINT : 8个字节 FLOAT : ...

  8. java基础-面向对象的思想

    一.什么是面向对象 面向对象是一种思想,在java中通常我们会说一句话一切事物即对象.而面向对象到底是怎么回事呢?这里我从人们对问题的思考来阐述,人在思考的一个问题的时候比如在解决一个数学问题的时候我 ...

  9. 最新版本Bootstrap样式很奇怪(4.1版本)

    下载最新版4.1版的Bootstrap编译好的CSS,引入的样式及其怪异. 这种情况重新下载3.3.7低版本就可以了.

  10. sql语句之from子句

    如何从表中查询一个字端的数据 select  字段名  from  表名: 演示:从s_emp表中把月薪查询出来 select salary from s_emp ; (分号代表结束) 如何从表中查询 ...