一、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. 驾驶机动车在高速公路上倒车、逆行、穿越中央分隔带掉头的一次记6分。 答案:错误 2013《123号令-附件2》一、机动车驾驶人有下列违法行为之一,一次记12分[重新考《科目一》]:(七)驾驶机动车在高速公路上倒车、逆行、穿越中央分隔带掉头的; 可以参考:http://zhinan.jxedt.com/info/6375.htm

    这一组交通警察手势是什么信号?_2600602 交警的面部对着哪个方向就是在指挥哪个方向的车,减速慢行是右手   左转弯待转是左手!~ 哎 本题解释由台州交通驾校提供 4755支持   hmq 只能看 ...

  2. JavaScript之面向对象学九(原型式继承和寄生式继承)

    一.原型式继承 该继承模式是由道格拉斯*克罗克福德在2006年提出的实现继承的方法. 模式的基本思路:借助原型可以基于已有的对象创建新的对象,同时还不必因此创建自定义类型. 代码如下: functio ...

  3. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)

    iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry) 随着iPhone6/6+设备的上市,如何让手头上的APP适配多种机型多种屏幕尺寸变得尤为迫 ...

  5. qt检测网络连接状态【只能检测和路由器的连接,不能测试到外网的连接】

    #include <QCoreApplication>#include <QDebug>#include <QTextStream>#include <QDi ...

  6. P - Shopaholic

    P - Shopaholic Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit ...

  7. Pull和SAX解析的区别

    Pull解析器和SAX解析器虽有区别但也有相似性.他们的区别为:SAX解析器的工作方式是自动将事件推入注册的事件处理器进行处理,因此你不能控制事件的处理主动结束:而Pull解析器的工作方式为允许你的应 ...

  8. pyhon MySQLdb查询出来的数据设置为字典类型

    import MySQLdbimport MySQLdb.cursors cxn=MySQLdb.Connect(host='localhost',user='root',passwd='1234', ...

  9. day6_python学习笔记_chapter8_条件,循环

    1. if elif else 2. 条件表达式:三元操作符: smaller = x if x < y else y   == if x < y : smaller =x  else : ...

  10. js判断微信内置浏览器

    做了一个h5页面来下载app,但如果页面是用微信扫一扫打开的,点击下载按钮下载不了app,原因是微信内置浏览器屏蔽了下载链接.所以增加了检测,如果用户是用微信浏览器打开的,则提示用户使用浏览器打开.那 ...