JSTL JSP的标准标签库
语法规则类似标签的语法,或者说类似JSP标准动作的语法。
典型的JSTL标签例如:<c:if test=""></c:if>
HTML中将标签的时候,我们涉及到的几个名词:
起始标签、终止标签、标签的主体、标签的属性、空标签(单标签)
JSTL的分类:
核心标签库(core)、重点讲述
格式化/国际化标签库(fmt)、略过
SQL标签库(sql)、忽略
XML标签库(xml)、暂且不讲
核心标签库
c:if 判断标签 test属性
c:choose 判断标签(相当于switch语法,可以多重判断)
c:when 判断满足条件 test属性
c:otherwise 其他不满足条件(相当于switch的default)
c:forEach 迭代标签 items属性 var属性
c:forTokens 拆分字符串标签 items属性 var属性(主要功能类似split方法)
“ZhangSan|LiSi|WangWu” -> 长度为3的字符串数组,每次拿一个子字符串放在var指定的变量中。
c:out 输出
c:set 将数据存放在作用于范围内
c:redirect 重定向标签
JSP页面中,如何使用JSTL
1、在项目的构建路径中导入JSTL的支持包jstl1.2.jar
2、在JSP页面上使用taglib指令来引入标签库(taglib指令不光可以引用标准标签库,还可以引用自定义标签库)
<%@taglib uri="http://java.sun.com/jst1/core_rt" prefic="wc"%>
3、使用标签库(通常需要EL表达式来配合)
例1:
<wc:if test="$sessionScope.user==null}"></wc if>//判断对象是否为空
例2:
<c:if test="${not empty sessionScope.user}">
<h1>用户${user.unick}接收到的消息列表</h1>
<c:if test="${not empty requestScope.result}">
<ul>
<c:forEach items="${requestScope.result}" var="obj">
<li>${obj.msgSendTime}【${obj.msgSendId}】:${obj.msgSendContent}</li>
</c:forEach>
</ul>
</c:if>
</c:if>
功能:
登录?注册?修改用户信息?修改密码?
查询某用户接收到消息?
发送消息
可以选择发送对象,如果未选择发送对象的时候发送给全体。
Servlet
使用Java语言编写的,运行在Web容器中的,基于请求与响应机制的一种程序。
1、Java的语法格式
2、必须使用Web容器(Tomcat)运行
3、处理浏览器请求
如何编写Servlet
1、需要引用Servlet的相关支持包(通常Web容器内置)
2、需要编写一个Java类。需要继承HttpServlet父类(GenericServlet爷爷辈的)
3、需要重写doGet或者doPost或者service方法
4、需要编写Servlet的部署描述文件或者采用注解的方式对类声明
Servlet配置中的标签
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>