@[toc]
一.JSP基础语法
1.1 前期准备工作
在前期我们需要准备一个新的Maven项目,专门来学习JSP的基础语法:
1.在名为xiao的主工程下,新建一个名为JSP-01的Maven项目。记得选择模板为webap模板。
2.在src->main下新建一个名为java的文件,将其设置为root文件夹。
3.将resource设置为res...root文件夹。
4.我们点开下面的webapp文件夹,里面有一个index.jsp,这个就是我们本次学习的对象。
5.更改tomact的启动路径,设置为JSP-01的Maven项目。
1.2 JSP 表达式
1.JSP的注释:注释比较简单,如下:
<%--JSP表达式,这里是注释,并不会输出到游览器!
--%>
2.JSP 表达式:
JSP的表达式作用是:就是将程序的运行结果(输出)。输出显示到客户端。
比如我们使用java获取一下当前的时间,然后显示给游览器。
<h2>Hello World!</h2>
<%= new java.util.Date()%>
运行服务器,访问该url:得到的结果如下:
上面是一个java语句,正常的我们应该是一段脚本程序。
jsp脚本
3.我们写一段脚本程序,作用计算1+2+...+99的和为多少:
<%
int sum=0;
for(int i=0;i<100;i++){
sum+=i;
}
out.println("<h2>SUM="+sum+"</h2>");
%>
重新启动服务器,访问该url,得到的结果如下:
4.JSP脚本与正常的HTML混用:
<%
int x=10;
out.println(x);
%>
<p>上进小菜猪你好</p>
5.使用JSP对html循环输出:
<%
for(int i=0;i<5;i++){
%>
<p><%=i%>hello,上进小菜猪</p>
<%
}
%>
仔细看,for循环包括了俩个<% %>,这样也可以实现循环输出。效果如下:
我们去idea存放项目目录里找到jsp的源码看一下,步骤在上一篇有讲过。
我的路径如下:
C:\Users\24190.SmartTomcat\xiao\JSP-01\work\Catalina\localhost\JSP-01\org\apache\jsp
查看到的jsp源码如下:这块为上面的jsp文件编译后得到的。看了这窜代码就通俗易懂了。
for(int i=0;i<5;i++){
out.write("\r\n");
out.write("<p>");
out.print(i);
out.write("hello,上进小菜猪</p>\r\n");
out.write("\r\n");
}
jsp声明
我们写如下一段JSP声明:
<%!
static {
System.out.println("loading servlet!");
}
private int gal=0;
public void zhu(){
System.out.println("进入了方法朱");
}
%>
我们再到上面说过的jsp源码里寻找一下(注意记得运行最新的项目)。
可以看到下面的截图,我们写的jsp声明脚本,编译成功之后,声明跑到了最上面。
知识点:
声明的标签为:
<%! 这里写jsp的声明 %>
jSP声明会被编译到生成Java类中,其他的内容就会被生成到_jspServlice中。
总结JSP基本语法:
基本jsp块:<%%>
表达式变量语法:<%= %>
声明 <%!%>
注释<%--注释--%>
二.JSP指令
2.1 定制错误页面
1.我们现在新建立一个jsp01.jsp文件,下面是它的具体代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<%
int x=1/0;
%>
</body>
</html>
2.我们运行服务,访问这个请求:
localhost:8080/JSP-01/jsp01.jsp
结果如下:
我现在的需求是,让出错的页面跳转显示我自定义的错误页面。
2.1.1创建自定义错误500页面
我们在webapp文件夹下创建一个名为error的文件夹,用来创建各种的错误页面。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page %>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<h1>
这是自定义的错误页面——500
</h1>
</body>
</html>
2.1.2定制跳转错误页面
我们在之前的jsp页面的开头写下:
<%@ page errorPage="error/500.jsp" %>
我们启动服务器,访问该url,效果如下:
2.1.3配置xml实现自动跳转
我们找到xml配置文件,配置一下505和400页面:
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/500.jsp</location>
</error-page>
运行项目,测试结果如下:我们正常访问得到如下截图:
我们随机输入一个错误的url,结果如下:
2.2公共样式
1.我们新建一个公共样式文件夹—common,下面新建一个footer.jsp金额一header,jsp。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<h1>我是footer</h1>
2.然后在jsp02.jsp里引入样式,代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page errorPage="error/500.jsp" %>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<%@ include file="common/header.jsp" %>
<h1>网页主题</h1>
<%@ include file="common/footer.jsp" %>
</body>
</html>
3.启动服务器,访问项目,效果如下:
发表评论