jsp jsp指令
JSP
由HTML和java语句拼接而成的文本,后缀名为.jsp
1、Jsp翻译成servlet:先翻译,Tomcat将翻译后的文件放置在安装目录下(所有JSP页面本质上就是Servlet程序)
2、编译为字节码
(在JSP生命周期中,翻译和编译只进行一次)
3、类加载——Web容器装载新生成的servlet类
4、创建Servlet实例
5、jspInit()
6、_jspServer()
7、jspDestory()
基础类型:不能被继承(final)
PageEconding:得到存储的类型
JSP简化创建产生文本的Servlet
JSP网页主要由元素和模板数据
1、模板数据是JSP的静态部分
2、WEB容器不处理
3、元素则是必须经由WEB容器解释
4、元素都是以XML做为语法基础,并且大小写要一致
web容器支持两种不同格式的JSP语法
1、普通格式和XML兼容格式
2、普通JSP语法是设计给开发者用的
3、XML兼容JSP语法是设计用来容易被开发工具使用的
脚本元素,在模板数据块之间嵌入JAVA代码
1、声明 <%声明%>
2、Scriptlet <%代码%>
3、脚本表达式 <%脚本表达式%>
Scriptlet直接插入Java代码片断到模板数据中
一个Scriptlet只能是Java程序
必须符合Java的规范
以“<%”开始,以“%>”结束来包含程序代码段
<%java程序代码%>
导包:<%@page=“com.lovo.user”%>
JSP内置对象:例如:打印 out 、 session等
Out.print() = <%= %> 同时打印
声明变量:
1、<%! 可以有变量和方法 %> 全局变量 必须以一个分号结尾
2、<% 声明变量%> 局部变量
JSP注释 <%-- -- %>
HTML注释 <!-- --> 在页面的源代码会显示出来
Java注释 /* */
JSP指令
1.Page:整个页面
2.Include:把文本中的文本静态地包含过去<%@ include file=” ” %>
<jsp:directive.include file=””></jsp:include>
动态包含(每个包含都会生成一个jsp)
<jsp:forward page=””></jsp:forward> 跳转到另一个页面
3.Taglib
Application:全局变量
pageContext:当前页面的pageContext对象
JAVA Web 的开发模式
脚本元素:<% %>
指令:<%@ %> page include public
标准动作:<jsp:page = “”>
模式:
JSP+JavaBean
<jsp:userBean id = “beanName” 变量名 scope=”page|request|session|application”>
<jsp:userBean id=”stu” class=”com.my.bean.Student” scope=”request”/>
<jsp:setProperty property=”id” name=”stu” param=”userid”/>
<jsp:getProperty property=”id” name=”stu”/>
MVC模型
1、定义一系列Bean来表示数据
2、使用一个Servlet来处理请求
3、在Servlet中填充Bean
4、在Servlet中,将Bean存储到请求、会话或者Servlet上下文中
5、将请求转发到JSP页面
6、在JSP页面中,从Bean中提取数据
EL表达式
${表达式}——用对象.属性
打印数据:1、<%= %>
2、out.print();
3、${对象.属性}
EL的隐式对象:10种
EL运算符分为四种:
1、属性和集合访问运算符
2、算术运算符 ${person.age + 10} 得到年龄 (+-*/)
3、关系运算符 ${person.age>20} 判断年龄 是否等于(==)
4、逻辑运算符 (||、&&)
EL函数
JSP标准标记库JSTL
核心库(core)
Prefix:前缀 url:地址
例:<%@taglib prefix=”c” url=”http://java.sun.com/jsp/jstl/core”%>
JSTL流程控制
<c:if test=”${person.age>20}”>
年龄大于20
</c:if>
if/else
<c:choose>
<c:when test=”${person.age>20}”>
他的年龄大于20
</c:when>
<c:when test=”${person.age==20}”>
他的年龄等于20
</c:when>
<c:otherwise>
他的年龄小于20
</c:otherwise>
</c:choose>
循环
Step:隔多久开始打印
Items:循环集合
List<String> list = new ArrayList<String>();
List.add(“qwe”);
List.add(“qee”);
List.add(“wet”);
request.setAttribute(“myList”,list);
varStatus:变量的格式
<c:forEach var=”i” begin=”1” end=”10” step=”2” items=”${myList}” varStatus=”sta”>
Sta.index:下标
Sta.count:第几次打印
${i}===${sta.index}====${sta.count}=====${sta.first}=====${sta.last}
</c:forEach>
jsp jsp指令的更多相关文章
- JSP三大指令、七大动作、九大对象
<%---------------------- JSP三大指令 -----------------------------%><%-- 1. page: language impo ...
- JSP常见指令
JSP常见指令 标签: jspincludeservletjavaappletarchive 2011-11-07 20:07 13193人阅读 评论(3) 收藏 举报 版权声明:本文为博主原创文章, ...
- JSP三大指令
JSP三大指令1.page-->最复杂,<%@page language = "java" info = "xxx" ..%> *pageE ...
- Java学习-035-JavaWeb_004 -- JSP include 指令
inclue 指令是将不同的文件插入到 JSP 网页中,这些文件可以是文本文件.HTML文件.JSP 文件,指令语法如下: <%@include file="相对路径"%&g ...
- Java学习-034-JavaWeb_003 -- JSP page 指令
前文对 JSP 的基础知识进行了初步的讲解,此文主要讲述 JSP page 指令. page 指令用于定义页面的多种属性,例如:脚本语言.编码方式.导入的 Java 包等,page 执行的语法如下: ...
- jsp常用指令
Jsp包含三个编译指令和七个动作指令. 三个编译指令为:page.include.taglib. 七个动作指令为:jsp:forward.jsp:param.jsp:include.jsp:plugi ...
- JavaWeb笔记——Jsp的指令、内置对象和动作标签
JSP三大指令 一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info=" ...
- jsp 三大指令和动作标签
jsp三大指令 一个jsp页面中可以有0-N个指令 1.page--->最复杂:<%@page language="" ...%> *pageEncoding和c ...
- jsp - forward指令
forward指令 既可以指向静态的html页面,也可以转发到动态的jsp页面,并可以保留先前请求的参数. 例如,在web中新建一个Jsp_src.jsp的jsp页面: <%@ page lan ...
- JSP三大指令 /9大内置对象 /Javabean / EL
一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info="xxx". ...
随机推荐
- [C]遍历目录下所有文件
#include<iostream>#include<string.h>#include<io.h>FILE *fp;using namespace std;voi ...
- linux 目录下文件批量植入和删除,按日期打包
linux目录下文件批量植入 [root@greymouster http2]# find /usr/local/http2/htdocs/ -type f|xargs sed -i " ...
- Visual Studio 2015 工具箱丢失
网上主要的解答分为两种:1. 未打开设计界面 2. 重置 实际上,还有一个原因是,没有启动完整版的VS. 安装完后,会有两个VS的程序,一个是Blend For Visual Studio 2015, ...
- nodeJS环境
nodeJS官网:https://nodejs.org/en/, npm官网(node package manager):https://www.npmjs.com/ 进入nodejs官方网站下载软 ...
- 一、MMA概述
一.MMA概述 返回目录页1.MMA的使用2.函数3.表达式4.数值计算和符号计算5.数据的表示6.程序设计-------------------------- ...
- 深入理解JavaScript系列
转自http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 深入理解JavaScript系列(1):编写高质量JavaScript代码 ...
- 有关emoji表情以及utf-16编码
昨日IOS组的同事遇到一个棘手的问题:当输入框内含有emoji表情时,如何获取文本框内的字符数(一个emoji表情算一个字符). 先从我最近接触的JAVA说起,JAVA中,在使用S ...
- c#自制视屏监控
项目需要开发一个监控程序,主要是监控其它电脑的操作情况. 先说下原理吧,首先我们列出做远程监控的基本步骤,远端电脑的ip,捕捉屏幕的方法,传输,接收并显示. 突然不知道怎么写下去了....... 程序 ...
- 分支界定法 branch-and-bound 分析与实现)(转载)
1. 介绍分支界定法之前需要了解一下广度优先搜索breadth-First-search(BFS) 1.从图中某个顶点V0出发,并访问此顶点:以层为顺序,一层一层往下遍历 2.从V0出发,访问V0的各 ...
- js中的原形链问题
---恢复内容开始--- 一.在js中大家讨论的原形链都是围绕在prototype和__proto__. 1.__proto__是内部原型 2.prototype是构造器原型(构造器就是构造函数) 3 ...