用于配置JSP页面,导入资源文件。
<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ...%>
(1)page
用于配置JSP页面,主要有以下几个参数
(2)include
主要用于页面包含,导入页面的资源文件,格式为:<%@ include file="top.jsp" %>
(3)taglib
用于导入资源,格式为:<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 其中“prefix”属性代表前缀,属于自定义的。
在jsp页面中不需要创建,直接使用的对象。一共有9个这样的对象,分类如下所示:
变量名 真实类型 作用
* pageContext PageContext 当前页面共享数据,还可以获取其他八个内置对象
* request HttpServletRequest 一次请求访问的多个资源(转发)
* session HttpSession 一次会话的多个请求间
* application ServletContext 所有用户间共享数据
* response HttpServletResponse 响应对象
* page Object 当前页面(Servlet)的对象 this
* out JspWriter 输出对象,数据输出到页面上
* config ServletConfig Servlet的配置对象
* exception Throwable 异常对象
使用Javabean来完成具体的业务操作,如:查询数据库,封装对象
主要使用JSP来展示数据
主要是Servlet,功能如下
(1)优点
(2)缺点
Expression Language 表达式语言
替换和简化jsp页面中java代码的书写,格式:${表达式}
jsp默认支持el表达式。如果要忽略el表达式,有两种方案:
主要有以下几种运算符
(1)算数运算符
+ - * /(div) %(mod)
(2)比较运算符
(3)逻辑运算符
(4)空运算符:empty
el表达式只能从域对象中获取值,主要的语法如下所示:
(1) ${域名称.键名}
从指定域中获取指定键的值,主要有以下几个域名称:
例如,在request域中存储了 name---张三,获取name的值的时候,语法为:${requestScope.name}
(2)${键名}
表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
(3)获取对象、List集合、Map集合的值
el表达式中有11个隐式对象,类似于jsp中的内置对象,我们主要学习其中一个隐式对象pageContext。
我们可以使用pageContext对象来获取jsp其他八个内置对象,例如${pageContext.request},具体使用场景,例如:${pageContext.request.contextPath},动态获取虚拟目录
JavaServer Page Tag Library JSP标准标签库。是由Apache组织提供的开源的免费的jsp标签。
用于简化和替换jsp页面上的java代码
(1)属性
test:必须属性,接受Boolean表达式
(2)注意
c:if 标签没有else情况,想要else情况的话,需要再定义一个c:if标签
(1)完成重复的操作
有如下几种属性
begin:开始值
end:结束值
step:步长
var:临时变量
varStatus:循环状态对象
index:容器中元素的索引,从0开始
count:循环次数,从1开始
(2)遍历容器
有如下几种属性
items:容器对象
var:容器中元素的临时变量
varStruts:循环状态对象
index:容器中元素的索引,从0开始
count:循环次数,从1开始
在request域中有一个存有User对象的List集合。需要使用jstl+el将list集合数据展示到jsp页面的表格table中,并且隔行显示不同的背景色
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="cn.itcast.domain.User" %>
<%@ page import="java.util.Date" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>test</title>
</head>
<body>
<%
List list = new ArrayList();
list.add(new User("张三",23,new Date()));
list.add(new User("李四",24,new Date()));
list.add(new User("王五",25,new Date()));
request.setAttribute("list",list);
%>
<table border="1" width="500" align="center">
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>出生日期</th>
</tr>
<%--数据行--%>
<c:forEach items="${list}" var="user" varStatus="s">
<c:if test="${s.count % 2 ==0}">
<tr bgcolor="#ffc0cb">
<td>${s.count}</td>
<td>${user.name}</td>
<td>${user.age}</td>
<td>${user.birStr}</td>
</tr>
</c:if>
<c:if test="${s.count % 2 !=0}">
<tr bgcolor="#7fffd4">
<td>${s.count}</td>
<td>${user.name}</td>
<td>${user.age}</td>
<td>${user.birStr}</td>
</tr>
</c:if>
</c:forEach>
</table>
</body>
</html>
用户信息的增删改查操作。
Servlet+JSP+MySQL+JDBCTemplate+Durid+BeanUtils+tomcat
create database day17; ---创建数据库
use day17; ---使用数据库
create table user( ---创建表
id int primary key auto_increment,
name varchar(20) not null,
gender varchar(5),
age int,
address varchar(50),
qq varchar(20),
e-mail varchar(20)
);
(1)创建数据库环境
(2)创建项目,导入需要的jar包
逻辑分析
代码有点长,就不放进来了,需要的小伙伴可以私信,发给你哟!
以上就是本周的内容啦,最后一个案例,我们按照公司中正常的开发逻辑,整体进行规划,此时才发现,自己在一个产品的开发中,原来是如此的微不足道!哈哈!不过也要做好每一个螺丝钉呀!加油!欢迎关注下面的公众号呀!