Page指令在jsp开发中较为重要。

以上操作指令,标红的一定要记住,并且只有import指令可以出现多次。
Page指令的语法:
<%@ page 属性=”内容”%>
实例1:字符编码集设置

<%@page language="java" contentType="text/html; charset=GBK" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<center>
		<h2>欢迎大家来到此播客学习</h2>
	</center>
</body>
</html>

或者

<%@page language="java" contentType="text/html" pageEncoding="GBK"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<center>
	<h2>欢迎大家来到此播客学习</h2>
	</center>
</body>
</html>

使用contentType和pageEncoding设置编码的区别:
pageEncoding指的是JSP文件本身的编码,而contentType中的charset指的是服务器发送给客户端的内容编码。在JSP中如果pageEncoding存在,那么JSP的编码将由pageEncoding决定,否则由contentType的charSet属性决定,如果两者都不存在,则将使用ISO-8859-1编码方式。在jsp中所有的内容都经过两次的编码操作,第一阶段会使用pageEncoding编码,第二阶段使用utf-8编码,第三阶段就是Tomcat生成的网页,此时使用的是contentType。一般开发只需指定pageEncoding编码即可。
实例2:导入外部类或包

<%@page language="java" contentType="text/html" pageEncoding="GBK"%>
<%@page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	   List<String> names= new ArrayList<String>();
	%>
</body>
</html>

<%@page import=“java.util.*” %>可以导入多个类或包,中间使用英文逗号隔开,或者编写多次导入。
实例3:错误页面的设置
可能产生错误的页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" errorPage="error.jsp"%>
    <!--errorPage:指定错误的处理页面 -->
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
	<%
	   //这里有一个错误
	   int num = 4/0;
	%>
</body>
</html>

处理错误的页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="true"%>
    <!-- isErrorPage:表示当前页面为错误处理的页面 -->
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
	<%
		response.setStatus(200);
	%>
	<h1>系统出现问题,请联系管理员</h1>
</body>
</html>

有时可能无法跳转到错误页面,在错误页面的操作中,如果出现了无法显示error.jsp页面的情况,则有可能是Tomcat将error.jsp也认为是出现了错误,从而无法跳转,此时可以直接在error.jsp中编写:response.setStatus(200);
此句设置了一个200的HTTP状态码,表示本页没有错误。

本文地址:https://blog.csdn.net/qwy715229258163/article/details/113973930