小知识:
equals是字符串的方法
null是特殊的常量,没有equals方法
JSP的三个指令
page指令
Page指令主要用来设置JSP页面的相关属性,如页面编码形式、缓存大小、错误处理页面等,作用于整个页面,包括静态的包含文件,但不能作用于动态的包含文件。
用于设置JSP页面的属性,习惯写在JSP页面的最前面
contentType=“text/html; charset=UTF-8” 给浏览器看
pageEncoding:页面标码
<%@ page contentType=”text/html;charset=GB2312”%>
<%@ page import=”java.util.*,javax.servlet.*”%>
<%@ page errorPage=”errorPage.jsp”%>
include指令
Include指令表示在当前页面中包含一个静态文件,静态包含表示被包含的文件将会被完整地插入到JSP文件中去。被包含的文件可以是JSP文件、HTML文件、文本文件或一段Java代码。
语法格式为:<%@ include file = ”文件名” %>
main.jsp - 网站主页
top.jsp - 网站头部
bottom.jsp - 网站底部
main.jsp
<body>
<%@ include file="top.jsp" %>
<p>这是页面内容</p>
<%@ include file="bottom.jsp" %>
</body>
top.jsp
<body>
这是页面头部
</body>
bottom.jsp
<body>
<p>这是页面底部</p>
</body>
包含文件和被包含文件不能有重复变量
taglib指令
用于在JSP页面导入标签库
taglib 指令的作用是在JSP页面中,将标签库描述符文件引入到该页面中,并设置前缀,而去利用标签的前缀去使用标签库表述文件中的标签
格式:
<%@ taglib uri = ”标签库表述符文件” prefix = ”前缀名” %>
<html>
<body>
<%@ taglib uri ="/mytaglib.tld" prefix="mytags"%>
</body>
</html>
JSP的七个动作
地址栏不发生变化 服务器端跳转
地址栏发生变化 客户端跳转
登录界面
login.jsp
<body>
<form action="after.jsp" method="post" >
<div id="box" style="height:300px; width:400px; margin:auto; text-align:center">
<h1>用户登录</h1>
用户名:<input type="text" name="username"/><br><br>
密码:<input type="text" name="password"/><br><br>
<input type="submit" value="登录"/>
<input type="reset" value="取消"/>
</div>
</form>
</body>
check.jsp
<body><%
String name = request.getParameter("username");
String password = request.getParameter("password");
if(name.equals("admin")&& password.equals("123")) {
%>
<jsp:forward page="success.jsp">
<jsp:param name="username" value="<%=name%>"/><!-- 两个页面之间传递参数 只能作为子标签来使用 -->
</jsp:forward>
<%
}
else {
%>
<jsp:forward page="fail.jsp"/>
<%
}
%>
</body>
success.jsp
<body>
<%
String name = request.getParameter("username");
out.println("欢迎你:" + name);
%>
</body>
fail.jsp
<body>
<form action="login.jsp" method="post">
<h1>用户名密码错误!点击按钮重新登录!</h1>
<input type="submit" value="重新登录" >
</body>
总结:
三条指令:
<%@page %>
<%@include file="" %> 静态包含 编译之前
<%@taglib url="" prefix="" %>
七个动作:
<jsp:inculde page="" flush=“true”></jsp:include>
<jsp:forward page="" ></jsp:forward>
页面跳转(看地址栏区分):
1客户端跳转: 表单提交
2服务器端的跳转:<jsp:forward >
<jsp:param name="" value=“” />在被包含文件和服务器的页面之间传递参数,只能作为子标签使用