JSP原理:

1.    对于每个请求。jsp容器都会创建一个新的线程来处理它;

2.    Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較快;(第一次可能会稍慢)

3.    当请求处理完毕后。对应对象由JSP容器接收,并以HTML格式响应发回client。

 

JSP组成:

HTML + JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素

 

JSP凝视:<!----> / <% %> / <%! %>

 

JSP指令:page +include + taglib指令

       向JSP引擎提供便以信息。能够设计全局变量。如声明类、要实现的方法和输出内容的类型等。一般的。JSP指令在整个页面范围内有效,且并不向client产生不论什么输出。全部的JSP指令都仅仅在当前的整个页面中有效。

格式: <%@指令标记属性1=“属性值1”属性2=“属性值2”%>

 

Page指令:

共包括13个属性。基本的例如以下:

session:指定JSP页面中能否够使用Session对象;

ErrorPage:当JSP页面出错时,跳转错误处理页面。

contentType:指定JSP页面的编码方式和JSP页面响应的MIME类型;

pageEndoding:指定页面编码格式。

 

比如:

<%@ page contentType=”text/html;charset=GB2312”import=”java.util.*”%>

<%@ page pageEncoding=”UTF-8” %>

 

page指令对整个页面有效,而与其书写位置无关,但一般写在页面最上方。

 

include指令:

文件载入指令。用于在JSP文件里插入一个包括文本或者代码的文件。

它把文件插入后与原来的JSP文件合并成一个新的JSP页面。

<%@ include file=”被包括文件的地址”%>

 

·  个人认为能够用来封装一些静态的代码块,如:js的倒计时等

 

taglib指令:

用来引用标签库并设置标签库的前缀。这个指令同意JSP页面使用用户自己定义的标签,它也能够为标签库命名。标签在这个库中定义:

<%@ taglib uri=”tagLibraryURI” prefix=”tagPrefix”%>

包括了连个属性,uri用来指定标签文件或标签库的存放位置,prefix属性用来指定该标签库使用的前缀。

使用如:

<%@ taglib prefix=”c” uri=http://java.sun.com/jsp/jstl/core%>

<s:out value=”taglib example”>

 

JSP脚本元素

脚本元素是JSP中使用最频繁的元素。通过JSP脚本能够将Java代码嵌入到HTML页面中。全部可运行的Java代码。都能够通过JSP脚本来运行。

三种类型:JSP声明语句 + JSP表达式 + JSP Scriptlets

 

JSP声明语句

<!% 变量或方法定义%>

 

JSP表达式:

<%= %>

 

JSP Scriptlets:

<% code… %>

 

JSP动作元素

JSP动作元素用来控制JSP行为。运行一些经常使用的JSP页面动作。

通过动作元素能够实现使用多行Java代码能够实现的效果,如动态插入文件、重用JavaBean组件、自己定义标签等。

动作元素:

<jsp:include> + <jsp:forward> +<jsp:param> + <jsp:plugin> + <jsp:useBean> +<jsp:setProperty> + <jsp:getProperty>

后三个用在与JavaBean的连接中。

 

<jsp:include>

提供了一种在JSP页面中包括页面的方式。

(与<%@ include %>指令不同)这里假设包括JSP动态页面。是先运行其(单独编译运行),之后将其结果返回至现有JSP页面。

 

<jsp:forward>

用于页面重定向的动作元素。作用是停止当前JSP页面的运行。而将client请求转交给还有一个JSP页面。

转发与重定向差别:转发是在server端进行的,不会引起client的二次请求,因此浏览器的地址栏不会变,效率也比重定向要高。

 

<jsp:param>

提供參数的附属动作元素,它以“名-值”对的形式为其它动作元素提供附加信息。一般与<jsp:include>/<jsp:forward>/<jsp:plugin>联合使用。

<jsp:param name=“參数名字” value=“參数值”>

 

与<jsp:include> 一起使用:(页面传值)

<jsp:include page=”sum.jsp”>

       <jsp:paramname=”number” value=”200” />

</jsp:include>

·  之后在sum.jsp中,能够使用request.getParameter(“number”)获取200属性值

 

与<jsp:forward>一起使用:(页面传值)

能够实如今跳转页面同一时候向转向页面传值的功能。

<jsp:forward page=”userinfo.jsp”>

       <jsp:paramname=”name” value=”jack”>

</jsp:forward>

 

<jsp:plugin>动作元素:

能够讲server端的JavaBean或Applet下载到client运行,语法例如以下:

 

<jsp:userBean>/<jsp:setProperty>/<jsp:getProperty>

都是与JavaBean相关的动作元素。

复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)的更多相关文章

  1. JSP基本语法总结【1】(jsp工作原理,脚本元素,指令元素,动作元素)

    时隔半年,回头对jsp复习整理一下,温故而知新. jsp工作原理: jsp服务器管理jsp页面分两个阶段:转换阶段(translation phase)和执行阶段(execution phase). ...

  2. JSP基础总结(运行机制、脚本元素、指令元素、动作元素)

    JSP的运行机制: 1.转译阶段:JSP页面转换成Servlet类: 2.请求阶段:Servlet类执行,将相应结果发送至客户端. 流程解释: 1.用户访问某个JSP页面 2.服务器找到相应的JSP页 ...

  3. JavaWeb学习----JSP脚本元素、指令元素、动作元素

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

  4. JavaWeb学习笔记--2.jsp指令元素、动作元素、内置对象

    目录: 一.指令 1.1 page指令 :page指令有13种属性 1.2 include指令:include指令有1种属性,为file.(注意<%@ include%>和<jsp: ...

  5. JSP脚本元素、指令元素、动作元素

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

  6. jsp篇 之 指令元素和动作元素

    Jsp指令元素分类与书写格式: 书写格式: <%@ 指令类型  属性="值" ..  %> 分类: [page include taglib]三种. 1,page指令: ...

  7. 【Head First Servlets and JSP】笔记19:JavaBeans与JSP动作元素(<jsp:setProperty.....>、<jsp:getProperty.....>)

    内容来自imooc. 1.什么是JSP动作元素 2.在JSP页面中如何使用Javabeans <jsp:......>表示这是一个JSP动作元素 3.使用JSP动作元素创建JavaBean ...

  8. JSP基本的语法、3个编译指令、7个动作指令、9个内置对象

    一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段.使用jsp开发的应用程序能够跨 ...

  9. JSP的基本语法

    JSP的基本语法 一.JSP页面中的JAVA代码 二.JSP页面中的指令 三.JSP页面中的隐含对象(九大内置对象) 目录 一.JSP页面中的JAVA代码 JSP表达式(方便输出) JSP小脚本(完成 ...

随机推荐

  1. Webwork【03】核心类 ServletDispatcher 的初始化

    1. Webwork 与 Xwork 搭建环境需要的的jar 为:webwork-core-1.0.jar,xwork-1.0.jar,搭建webwork 需要xwork 的jar呢?原因是这样的,W ...

  2. Postgresql学习笔记

    一:数据类型 主要有三大类以及其他一些杂项类型: 数值型.字符型.日期型. 数值型: 名称 描述 存储大小 范围 smallint 存储整数,小范围 2字节 -32768 至 +32767 integ ...

  3. 【BI】商务智能

    BI的定义 商务智能BI (Business Intellignece) 商务智能是涵盖性术语,包含框架.工具.数据库.分析工具.应用和方法.商务智能的主要目标是实现数据的交互,实现对数据的操作,供管 ...

  4. Android开发之底部导航栏标准

    以下是封装的库源码: package com.example.oldtab; import java.util.ArrayList; import android.content.res.Resour ...

  5. Cecos国内集成系统基于rhel6.5

    整体上,secos对云.虚拟化.等整体的解决方案(一键打包),很不错.做出了有益的探索.... 本次测试基于版本测试,不得说官方文档也是挺全的,很好!!!! CecOS-1.4.2-Final-170 ...

  6. yum实现仅仅下载不安装包

    问题的产生,都是源于真实的需求... 01.yum安装切保存rpm包于本地 [root@yhs_web_1 ~]# vim /etc/yum.conf [main] cachedir=/var/cac ...

  7. 基于kettle8的web端调度监控平台

    发布时间:2018-11-16   技术:spring+springmvc +beetlsql+quartz+kettle8   概述 Kettle调度监控平台(以下简称KS)是一个自主开发的java ...

  8. Android实现中文汉字笔划(笔画)、中文拼音排序、英文排序

    发布时间:2018-11-16   技术:Android   概述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方式,如下所示: 简体中文 拼音排 ...

  9. CSS3 flex的使用方法

    display:flex; align-items://水平对齐方式 justify-content://垂直对齐方式 flex://盒子所占大小(如果你盒子里面只有两个div,那么你设置其中之一个f ...

  10. org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session:

    保存实体异常 https://blog.csdn.net/zzzz3621/article/details/9776539 org.hibernate.NonUniqueObjectException ...