<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%--jsp表達式 --%>
<%= new java.util.Date()%>
<hr>
<%--jsp指令碼片段--%>
<%
int sum=0;
for(int i=0;i<100;i++){
sum+=i;
}
out.print("<h1>sum="+sum+"</h1>");
%>
<hr>
<%--宣告--%>
<%!
static {
System.out.println("jsp宣告");
}
private int a=1;
public void haue(){
System.out.println("河南工程學院");
}
%>
jsp宣告會被編譯到jsp生成的java類,
其他的會被生成到_jspService()方法中
<hr>
<%--EL表達式--%>
<%for (int i=0;i<3;i++){%>
hello ${i}
<%}%>
<hr>
</body>
</html>
page
<%@page contentType="text/html;charset=UTF-8" language="java" %>
<%@page errorPage="error/500.jsp" %>
<%@page import="java.util.Date" %>
<%@include file="error/500.jsp"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page errorPage="error/500.jsp" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<% new Date();%>
<%
int x=1/0;
%>
</body>
</html>
500.jsp
<html>
<head>
</head>
<body>
<img src="../img/500.png" alt="500">
</body>
</html>
通過web.xml
<error-page>
<error-code>500</error-code>
<location>/error/500.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
通過 標籤
<jsp:include page="error/404.jsp"></jsp:include>
C:\Users\zhao.IntelliJIdea2019.2\system\tomcat\Unnamed_javaweb-jsp\work\Catalina\localhost\ROOT\org\apache\jsp
final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--內建物件--%>
<%
pageContext.setAttribute("name1","1");//儲存的數據只在一個頁面中有效
request.setAttribute("name2","2");//儲存的數據 只在一次請求中有效 請求轉發會攜帶這個伺服器
session.setAttribute("name3","3");//儲存的數據只在一次對談中有效 從開啓瀏覽器到關閉瀏覽器
application.setAttribute("name4","4");//儲存的數據在伺服器中有效 從開啓伺服器到關閉伺服器
%>
<%--從pageContext去除 我們通過尋找的方式來
從底層到高層(作用域)
--%>
<%
String name1= (String) pageContext.findAttribute("name1");
String name2= (String) pageContext.findAttribute("name2");
String name3= (String) pageContext.findAttribute("name3");
String name4= (String) pageContext.findAttribute("name4");
String name5= (String) pageContext.findAttribute("name5");//不存在
%>
<hr>
<%--${}--%>
使用EL表達式輸出
${name1}
${name2}
${name3}
${name4}
${name5}
<hr>
使用jsp表達式輸出
<%=name1%>
<%=name2%>
<%=name3%>
<%=name4%>
<%=name5%>
</body>
</html>
兩種請求轉發的方式
<%
//頁面
pageContext.forward("/index.jsp");
//java後臺
//request.getRequestDispatcher("/index.jsp").forward(request,response);
%>
1. EL表達式:${}
- 獲取數據
- 2.執行運算
- 3.獲取web開發的常用物件
2.JSP標籤
<%--<jsp:include page=""></jsp:include>--%>
<jsp:forward page="/jsptag02.jsp">
<jsp:param name="name" value="趙"/>
<jsp:param name="age" value="21"/>
</jsp:forward>
<%=request.getParameter("name")%>
<%=request.getParameter("age")%>
3.JSTL表達式
JSTL標準庫
JSTL的使用就是爲了彌補HTML的不足。他自定義了許多標籤功能和java程式碼一樣
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
*引入對應的taglib
*使用其中的方法