IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java Web10 -> 正文阅读

[Java知识库]Java Web10

一、

1、<c:if>标签

在程序开发中,经常需要使用d语句进行条件判断,如果要在JSP页面中进行条件判断,就需要使用Core标签库提供的<:1>标签,该标签专门用于完成JSP页面中的条件判断,它有两种语法格式,如下。

语法1:没有标签体的情况

<c:主f test="testCondition" var="result"

[iscope="{page | reques | session | application}"]/>

语法2:有标签体的情况,在标签体中指定要输出的内容

<c:if test-"testCondition" var="result"

[scope="(page IrequestIsessionlapplication}"]>

? ? ? ??body content

</c:if>

<c:if>标签有3个属性:

(1)test属性用于设置逻辑表达式

(2)var属性用于指定逻辑表达式中变量的名字

(3)scope属性用于指定var变量的作用范围,默认值为page。如果属性test的计算结果为tue,那么标签体将被执行,否则标签体不会被执行。

2、在WebContent目录下创建一个名为?c_if.jsp的文件。

?3、?<c:choose>标签

在程序开发中不仅需要使用if条件语句,还经常会使用if-else语句。为了在JSP页面中也可以完成同样的功能,Core 标签库提供了<c:choose>标签,该标签用于指定多个条件选择的组合边界,它必须与<c:when>、<c:otherwise>标签一 起使用。

(1)<c:choose>标签没有属性,在它的标签体中只能嵌套一个或多 个<c:when>标签和零个或一个<c:otherwise>标签,并且同一个<c:choose>标签中所有的<c:when>子标签必须出现在<c:otherwise>子标签之前,其语法格式如下。

<c: choose>

? ? ? ?Body content (<when> and <otherwise> subtags)

</c:choose>

(2)<c:when>标签只有一个test属性,该属性的值为布尔类型。test 属性支持动态值,其值可以是一个条件表达式,如果条件表达式的值为true, 就执行这个<c:when>标签体的内容,其语法格式如下。

<c:when test="testCondition">

? ? ? ? ??Body content

</c:when>

(3)<c:otherwise>标签没有属性,它必须作为<c:choose>标签最后分支出现。当所有的<c:when>标签的test条件都不成立时,才执行和输出<c:otherwise>标签体的内容,其语法格式如下。

<c:otherwise>

? ? ??conditional block

</c:otherwise>

4、在WebContent目录下创建一个名为c_choose.jsp的文件。

?5、<c:forEach>标签

在JSP页面中,经常需要对集合对象进行循环迭代操作,为此,Core 标签库提供了一个<c:forEach>标签,该标签专门用于迭代集合对象中的元素,如Set、List、 Map、数组等,并且重复执行标签体中的内容。

语法1:迭代包含多个对象的集合

<c:forEach?[var="varName"] items="collection"?[varStatus="varStaatusName"]

[begin="begin"] [end="end"] [step-"step")>

? ? ??body content

</c:forEach>

语法2:迭代指定范围内的集合

<c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin"?end="end" [step="step"]>

? ? ?body content

</c: forEach>

●var属性用于指定将当前迭代到的元素保存到page域中的名称。

●items属性用于指定将要迭代的集合对象。

●varStatus属性用于指定当前迭代状态信息的对象保存到page域中的名称。

●begin属性用于指定从集合中第几个元素开始进行迭代,begin的索引值从0开始。如果没有指定items属性,就从begin指定的值开始迭代,直到迭代结束为止。

●step属性用于指定迭代的步长,即迭代因子的增量。

6、c_foreach1.jsp

?

?7、c_foreach2.jsp

?8、c_foreach3.jsp

?9、c_url.jsp

?

?10、Filter 过滤器

Fiter被称作过滤器,其基本功能就是对Servlet容器调用Servlet的过程进行拦截,从而在Serviet进行响应处理前后实现些特殊功能。 这就好比现实中的污水净化设备, 它可以看作一个过滤器,专门用于过滤污水杂质。

( 1)首先在Eclipse中创建- -个名为chapter08的Web项目,然后在该项目的src目录下创建一个名为cn.itcast.chapter08.filter包,最后在该包下创建一个名为MyServlet的Servlet类,该类用于访问时在浏览器中输出“Hello MyServlet"。

MyServlet 类的具体代码如下:

Web.xml

?(2)在cn.itcast.chapter08.filter 包中创建一-个名为MyFilter 的Filter 类,该类用于拦截MyServlet程序。MyFilter 的实现代码及web.xml中的代码和运行图:

?11、Filter 映射

1、 (1)使用通配符“.” 拦截用户的所有请求

Filter的<filter -mapping>元素用于配置过滤器拦截的资源信息,如果想让过滤器拦截所有的请求访问,那么需要使用通配符“*” 来实现。

?(2)拦截不同方式的访问请求

在webxn文件中,一个<filter-mapper>无素用于配置一个Filer 所负责拦截的资源。

2、在chaper8项目的cn icast chapter08 iter包中,创建一个名为FowarSerlet的Seviel类.该类用于将请求转发给frstjsps页面。

实现代码及web.xml中的代码和运行图:

?

?3、为了拦截ForwardServlet通过forward()方法转发的first.jsp 页面,需要在web.xml文件中的对应过滤器配置信息中增加一个<dispatcher>子元素,将该元素的值设置为FORWARD,修改后的Forwardilter的映射如下。

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-20 18:15:31  更:2021-11-20 18:18:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:25:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码