jsp(自用)

jsp:JavaServletPage,java 服务器页面,本质是一个java文件,
作用:将内容的生成和信息的展示相分离。

运行阶段:页面翻译(java文件)---->页面编译(class文件)—>类加载—>实例化—>初始化---->提供页面服务—>销毁
运行在服务器端,本质上就是一个serlvet,使用jsp引擎自动翻译为servlet代码,产生的java文件和class保留在tomcat的word目录下。

jsp网页组成:页面模板数据和元素。

jsp脚本(语法)

<%…%> 书写java代码片段,作为jsp的局部变量进行声明,在提供服务的方法中,
<%=…%> 输出表达式 相当于out.print();
<%!..%>声明成员,作为jsp的成员变量来进行声明

JSP指令

作用:声明jsp页面的一些属性和动作
格式:
<%@指令名称 属性=“值” 属性=“值”%>
jsp指令的分类:
page:主要声明jsp页面的一些属性
include:静态包含.先包含再翻译。
taglib:导入标签库
注意:一个页面中可以出现多个指令,指令可以放在任意位置,一般都放在jsp页面最上面。

page指令
errorPage:当前jsp页面出现异常的时候要跳转到的jsp页面
language:当前jsp页面里面可以嵌套的语言
contentType:设置响应流的编码,及通知浏览器用什么编码打开,设置文件的mimetype
import:导入所需要的包

jsp的隐式对象:(9大隐式对象)
在jsp页面上可以直接使用的对象
out、request、response、session
exception
page、config、application、pageContext

内置(隐式)对象类型
outJspWriter
requestHttpServletRequest
responseHttpServletResponse
sessionHttpSession
exceptionThrowable
pageServlet(this)
configServletConfig 过滤器
applicationServletContext 应用上下文,全局管理者
pageContextPageContext 当前页面的全局管理者

el

el表达式中不可以设置这变量
作用:
1.获取域中数据
2.执行运算
3.获取常见的web对象
4.调用java的方法
格式:
e l 表 达 式 若 属 性 名 中 出 现 了 &quot; . &quot; ∣ &quot; + &quot; ∣ &quot; − &quot; 等 特 殊 符 号 , 需 要 使 用 s c o p e 获 取 例 如 : {el表达式} 若属性名中出现了&quot;.&quot;|&quot;+&quot;|&quot;-&quot;等特殊符号,需要使用scope获取 例如: el".""+""",使scope:{requestScope[“arr.age”] }
获取域中的数据
获取简单数据
${pageScope|requestScope|sessionScope|applicationScope.属性名}
以后经常使用:
${属性名}:依次从pageContext,request,session,application查找指定属性,若查找到返回值,结束该次查找
若查找不到,返回""

el内置对象

类别 内置变量名描述
jsppageContext 用来访问JSP的隐式对象
作用域pageScope与page作用域属性的名称和值相关联的 Map 类
requestScope与request作用域属性的名称和值相关联的 Map 类
sessionScope与session作用域属性的名称和值相关联的 Map 类
applicationScope与application作用域属性的名称和值相关联的 Map 类
请求参数param包含请求参数字符串的Map 类
paramValues包含请求参数字符串数组( String[])的 Map 类
请求头header包含请求头字符串的 Map 类
headerValues包含请求头字符串数组(String[])的 Map 类
Cookiecookie按名称存储请求附带的 cookie 的 Map 类

JSP:
pageContext★
作用域:
pageScope
requestScope
sessionScope
applicationScope
请求参数
param
paramValues
请求头
header
haederValues
Cookie
cookie

el中的运算符:
四则运算、关系(>…)、逻辑(&& ||)、三元运算符
注意:
+:只能进行加法运算,字符串形式数字可以进行加法运算.
empty:判断一个容器的长度是否为0(array set list map),还可以判断一个对象是否为空
${empty 域中的对象名称}

jstl(标准标记库)

用来代替java脚本
使用步骤:
1.导入jar包 (jstl.jar和standard.jar)
2.在页面上导入标签库
<%@taglib prefix="" uri=""%>
例如:<%@taglib prefix=“c” uri=“http:// java.sun. com/jsp/jstl/core” %>

c:set(设置值)
c:choose(选择): c:when(相当于case) c:otherwise(default)
c:if 判断
<c:if test="$ {el表达式}">满足的时候输出的内容</c:if>
c:forEach 循环
格式1:
<c:forEach items="$ {el获取域中的容器}" var=“n”>
$ {n }
</c:forEach>
例如:
//遍历list
<c:forEach items="$ {list }" var=“n”>
$ {n }
</c:forEach>
//遍历map
<c:forEach items="$ {map }" var=“en”>
$ {en.key }–$ {en.value }
</ c:forEach>
格式2:
<c:forEach begin=“从那里开始” end=“到那里结束” step=“步长” var=“给变量起个名字” varStatus=“循环状态变量”>
$ {i }–$ {vs.count }–$ {vs.current }
</c:forEach>
varStatus:用来记录循环的状态
常用的属性:
count:记录次数
current:当前遍历的内容
例如:
<c:forEach begin=“1” end=“20” step=“2” var=“i” varStatus=“vs”>
$ {i }–$ {vs.count }–${vs.current }
</c:forEach>

jsp和servlet的区别和联系

jsp的本质就是一个sevlet,第一次访问jsp时,会使用jsp引擎将jsp翻译成为一个sevlet,接下来就是编译成为class文件,类加载,实例化,初始化,提供页面服务,销毁。
区别:
1、servlet是使用HttpServletResponse对象动态的生成html内容,而jsp是将java代码镶嵌到html中,java代码被动态执行生成html内容。
2、servlet注重业务逻辑的组织,而jsp更注重数据的展示。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值