web.xml
<error-page>
<exception-type>java.lang.Exception</exception-type> <location>/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%= pageContext.findAttribute("test")!=null ? pageContext.findAttribute("test") : "111" %>
${test }
<%-- ${pageContext.getRequest().getContextPath()} --%>
<!-- 通过实体.属性 -->
<%-- ${user.username }
${user.password } --%>
<!--
jsti常用标签:
c:forEach:
items:要循环的集合/列表
var:定义集合元素的类型
begin:从第几项开始循环
end:循环到第几项结束
step:循环的步长
varStatus:关于下标的对象
index:下标
count:成员总数
first:判断是否是第一个元素(boolean)
last:最后一个元素(boolean)
c:set:
var:定义变量名称
value:变量的值
scope:变量的作用域 默认为:page
c:remove:
var:需要移除的变量名
scope:作用域
c:out:
value:输出的值(相当于<%-- <%=%> --%>)
c:if
-->
<table border="1">
<c:forEach items="${users }" var="user" varStatus="item">
<c:set var="setDemo" value="${item.index }"></c:set>
<c:remove var="setDemo"/>
<%-- <td> ${testDemo }</td> --%>
<c:if test="${item.index > 10 }" var="testDemo">
<tr>
<td> <c:out value="1"></c:out></td>
<td> ${user.username }</td>
<td> ${user.password }</td>
</tr>
</c:if>
<c:choose>
<c:when test="${item.index > 10 }">
<c:out value="大于10"></c:out>
</c:when>
<c:otherwise>
<c:out value="小于等于10"></c:out>
</c:otherwise>
</c:choose>
</c:forEach>
</table>
</body>
</html>
javabean
1.JavaBean 是一种JAVA语言写成的可重用组件(类)。(JavaBean就是特殊的类) 设计JavaBean必须遵循的规范: 1、把JavaBean类设计为public的.
2、必须具有公共的无参数构造器,(方便反射创建对象).
3、一般的,JavaBean的字段是私有的,外界不能访问,我们得提供让外界访问字段的公共方法. (getter/setter:必须遵循一定的规则)--->属性.
2.JavaBean的分类:
1、有用户界面(UI,User Interface)的JavaBean(Panel,Window,Button等);
2、没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。 比如:dao组件,domain,service等等.
3:JavaBean具有的成员:
1、事件(event),存在于有界面的JavaBean中.(点击事件).
2、方法(method):
3、字段/成员变量 (属性property):
简单来说:当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。
Introspector:内省机制核心类
反射机制: 获取字节码对象,创建该字节码对应类的对象以及调用方法.
内省机制: 操作avaBean中的成员(事件,方法,属性):获取属性/设值属性.
4.JavaBean和Map的转换操作
要消除JSP中的Java代码,咱们就得使用Java的标签库,每一个标签的背后其实就是一段Java代码. 一般的,我们不用自定义标签,我们使用JSTL(Java的标准标签库(SUN自己提供的标签库)).
使用JSTL的准备环境:
1、需要拷贝相应的jar.
2、需要在使用JSTL的JSP页面引用标签库. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3、使用JSTL的标签库了.