一、JSP简介:

JSP(Java Server Pages,Java服务器端页面开发技术)

JSP可以实现的技术都可以通过Servlet实现,他们本质上是一样的。但JSP设计的目的在于简化表示层的表示。JSP执行前都会被转化为Servlet。

二、JSP页面包括三大部分:

指令、Java脚本、动作组件。

1.指令:

page指令:用来定义整个JSP页面的全局属性。

格式:<%@ 指令名 属性名="值" %>

import(导入包)、contentType(服务器向浏览器响应输出的文件格式类型和字符集编码方式)、 isThreadSafe、session、buffer、autoflush 、extends、info、errorPage (处理异常事件的JSP文件)、isErrorPage和language(脚本语言)等。

<%@ page language="java" %>
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page errorPage="error.jsp" %>

include指令:在JSP页面中嵌入其他文件。

格式:<%@ include file="相对位置" %>

注意:<%@ include%>指令和<jsp:include>动作标签有什么区别?

<%@ include file="copyright.html" %>

 2.Java脚本:

声明:JSP页面中数据和方法的声明(全局变量)格式:<%!  声明的变量或方法; %>

声明变量和方法也可以在脚本代码片段中(局部变量),但两者是有区别的。

表达式:用于在页面上输出信息。格式:<%= 表达式 %>。(无分号)

脚本代码片段:JSP页面的脚本代码必须写在<% 代码%>区域里。

3.动作组件:是一些XML语法格式的标记,被用来控制Web容器的行为。


常见的JSP动作组件共有以下几种:
<jsp:include>:在页面被请求的时候引入一个文件。
< jsp:param>:在动作组件中引入参数信息。
< jsp:forward>:把请求转到一个新的页面。
< jsp:useBean>:寻找或者实例化一个JavaBean。

< jsp:setProperty>:设置JavaBean的属性。
< jsp:getProperty>:输出某个JavaBean的属性。

include动作组件:

注意:include动作组件和include指令元素有很大的不同。 include动作组件在执行时才对包含的文件进行处理,因此JSP页面和它所包含的文件在逻辑上和语法上是独立的,如果对包含的文件进行了修改,那么运行时可以看到所包含文件修改后的结果。而静态的include指令包含的文件如果发生变化,必须重新将JSP页面转译成java文件,否则只能看到所包含的修改前的文件内容。

forward动作组件:

向至另一个HTML网页或JSP网页,客户端看到的地址是A页面的地址,而实际内容却是B页面的内容。其语法如下:
<jsp:forword page= “网页名称”>

param动作组件:

<jsp:param>用于传递参数信息,必须配合< jsp:include>或< jsp:forward>动作组件一起使用。语法如下:
< jsp:param name=参数名称 ,value=值 />
当该组件与<jsp:include>一起使用时,可以将param组件中的值传递到include动作组件要加载的文件中去。

<jsp:forward page="welcome.jsp">
<jsp:param name="name" value="John" />
</jsp:forward>

等同于welcome.jsp?name="John"

userBean动作组件:用于创建对象实例。

格式:<jsp:userBean id = "对象名字" scope="作用域">

作用域有page(整个页面)、request、session(整个会话生命周期)、application等

JSP——页面三大部分(指令、脚本、动作组件)的更多相关文章

  1. JSP中的编译指令和动作指令的区别

    JSP中的编译指令和动作指令的区别 1.编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本, ...

  2. JSP中的编译指令和动作指令的差别

    JSP中的编译指令和动作指令的差别 1.编译指令是通知Servlet引擎的处理消息.而动作指令仅仅是执行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本 ...

  3. JSP页面中的指令标识

    JSP页面中的指令标识 制作人:全心全意 指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释并执行的,不会产生任何内容输出到网页中.也就是说,指令标识对于客户端浏览器是不可见的 ...

  4. jsp笔记2(编译指令与动作指令)

    一.jsp的编译指令是通知jsp引擎的消息,不会生成输出. jsp的3个编译指令: page:针对当前页面的指令   include:包含另一个页面的指令   taglib:用于定义和访问自定义标签 ...

  5. JSP页面使用include指令出现 Duplicate local variable basePath

    现有三个页面 " include.jsp " " a.jsp " " b.jsp " 页面代码如下 首先是a.jsp <%@ page ...

  6. jsp笔记,包括编译指令和动作指令,九大对象等

    jsp基础知识 不包括HTTP协议,只有jsp的基础知识,包括表达式,代码片段,jsp九大对象等. 编译指令是在jsp被转换成selvet时,使用的. 而动作指令,是在每次客户端请求时动态执行.

  7. JavaWeb学习总结第三篇--走进JSP页面元素

    JavaWeb学习(三)—走进JSP页面元素 JSP:Java Server Pages,译为Java服务器页面.其脚本采用Java语言,继承了Java所有优点.JSP元素可以分为指令元素.脚本元素和 ...

  8. JSP页面中的小知识

    1.<%…%>和<%!…%>的区别? <%…%>用于在JSP页面中嵌入Java脚本,即代码块 <%!…%>用于在JSP页面中申明变量或方法,可以在该页面 ...

  9. jsp页面元素和内置对象

    java server pages其根本是一个简化的servlet设计.实现了在java当中使用html标签.javaEE标准 一.页面元素 1.静态内容 html.js.css相关标签元素. 2.指 ...

随机推荐

  1. umount.nfs device busy day virsh extend diskSpace, attachDisk

    KVM中linux虚拟机的硬盘添加方法 最近虚拟机中运行的东西比较多,很多.而刚启动的时候虚拟机分配的磁盘比较少,随着日志还有平时的上传文件的积累,磁盘空间报警了.网上查了下资料,自己也做了下实验.总 ...

  2. Android的UI两大基石

        说到Android的UI就不得不从一切的开始View开始说.     让我们从Android Developer上的View的Overview和UI Overview来开始吧.     Cla ...

  3. js笔记-DOM基础

    DoM 浏览器支持: IE: 10% FF: 99% Chrome: 60% childNotes不兼容 在Chrome和IE9中会将文本节点也算作childNotes,而在IE6-8中childNo ...

  4. 面向对象程序设计-C++_课时16子类父类关系

    初始化列表 类名::类名(形参1,形参2,...形参n):数据成员1(形参1),数据成员2(形参2),...,数据成员n(形参n) { ... } 规则1,初始化列表进行数据成员的初始化 规则2,初始 ...

  5. kafka学习(四)-Topic & Partition

    topic中partition存储分布 Topic在逻辑上可以被认为是一个queue.每条消费都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为了使得 Kafka的吞吐 ...

  6. Qt程序设计——txt文本中获取字符串的问题

    QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项.因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心 ...

  7. mysql基础示例

    创建数据库.创建表等: //php中按天创建表 $sql = "create database if not exists ".$db_name; $date_time_array ...

  8. IIS7.5(IIS7)配置伪静态urlrewrite

    找了好久,终于找到了.已经测试通过,收藏. 转载自:http://jingyan.baidu.com/article/67508eb4ff92c69cca1ce49a.html 首先新建一个应用程序池 ...

  9. jQuery Mobile组件

    一.页面 jQuery Mobile 应用了 HTML5 标准的特性,在结构化的页面中完整的页面结构分为header.content.footer 这三个主要区域. 在body 中插入内容块: < ...

  10. BZOJ 2716: [Violet 3]天使玩偶( CDQ分治 + 树状数组 )

    先cdq分治, 然后要处理点对答案的贡献, 可以以询问点为中心分成4个区域, 然后去掉绝对值(4种情况讨论), 用BIT维护就行了. --------------------------------- ...