JSP指令(404,500页面设计)

JSP指令:

1)

<%@ page ......." %>

这个指令可以用来设置响应的页面

测试:

项目结构

 

 

jsp2.jsp

复制代码
 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 
 3 <%--定制错误页面--%>
 4 <%--<%@ page errorPage="error/500.jsp" %>--%>
 5 
 6 <html>
 7 <head>
 8     <title>Title</title>
 9 </head>
10 <body>
11 <%
12     int x = 1 / 0;  // 这里会报错
13 %>
14 
15 </body>
16 </html>
复制代码

404界面 404.jsp

复制代码
 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 <html>
 3 <head>
 4     <title>Title</title>
 5 </head>
 6 <body>
 7 <img src="img/404.png" alt="找不到">
 8 
 9 </body>
10 </html>
复制代码

500界面 500.jsp

复制代码
 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 <html>
 3 <head>
 4     <title>Title</title>
 5 </head>
 6 <body>
 7 <img src="img/500.png" alt="50">
 8 
 9 </body>
10 </html>
复制代码

去web.xml注册页面:

1 <error-page>
2         <error-code>404</error-code>
3         <location>/error/404.jsp</location>
4     </error-page>
5     <error-page>
6         <error-code>500</error-code>
7         <location>/error/500.jsp</location>
8     </error-page>

 

 

 

测试结果:

开始时候加载不出图片,解决方案:重启IDEA

 

 修改路径为不存在的路径:

 

 

 

 

2)

<%@include file="">

这个指令用来提取公共页,比如网站的头部和尾部都是固定的。

但一般不用这个,用jsp标签

<jsp:include page="">

 

 

测试代码:

创建一个common文件夹来放头和尾

 

header.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<h1>我是Header</h1>

footer.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<h1>我是Footer</h1>

写一个jsp3.jsp来做测试页面

复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>
<head>
    <title>Title</title>
</head>
<body>

<%--@include会将两个页面合二为一,如果每个页面都定义同名变量会报500错--%>
<%@include file="common/header.jsp" %>
<h1>网页主体</h1>
<%@include file="common/footer.jsp" %>

<hr>  <-- 分割线-->

<%--jsp标签--%>
<%--jsp:include 拼接页面,本质还是3个,设置同名变量互不影响--%>
<jsp:include page="common/header.jsp"/>
<h1>网页主体</h1>
<jsp:include page="common/footer.jsp"/>


</body>
</html>
复制代码

测试结果:

 

 

假如用第一种方法写网页,并且在header.jsp中定义变量x=10,在jsp3.jsp中也定义x =10,会报500的错。

 

 第二种的话就不会,因为互相独立

 

posted on   Love&Share  阅读(267)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示