當前位置:網站首頁>jsp

jsp

2022-01-27 20:33:13 xiaoxiao_2446xuxu

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP '1.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    This is my JSP page. 
  </body>
</html>

 jsppro.jsp

<%@ page language="java" import="java.util.*,java.lang.*" pageEncoding="utf-8" contentType="text/html; charset=utf-8" %>
<%@page session="true" %>
<%@page errorPage="error.jsp"  %>
<%@page isErrorPage="true" %>
<%--
	Jsp的三種注釋	
		前端語言注釋:
			會被轉譯,也會被發送,但是不會被瀏覽器執行
		java語言注釋:
			會被轉譯,但是不會被servlet執行
		Jsp注釋:
			不會被轉譯。
	Jsp的page指令學習
		<%@page 屬性名="屬性值" 屬性名="屬性值"...%>
		language:聲明jsp要被轉譯的語言。
		import:聲明轉譯的java文件要導入的包,不同的包使用逗號隔開。
		pageEncoding:設置jsp文件的數據編碼格式。
		contentType="text/html; charset=utf-8"  設置jsp數據響應給瀏覽器時,瀏覽器的解析和編碼格式。
		session:設置轉譯的servlet中是否開啟session支持,默認開啟,true錶示開啟。false錶示關閉。
		errorPage:設置jsp運行錯誤跳轉的頁面.
		extends:設置jsp轉譯的java文件要繼承的父類(包名+類名)。	
		作用:
			配置jsp文件的轉譯相關的參數。
	Jsp的局部代碼塊:
		特點:
			局部代碼塊中聲明的java代碼會被原樣轉譯到jsp對應的servlet文件的_JspService方法中
			代碼塊中聲明的變量都是局部變量。
		使用:<% java代碼  %>
		缺點:
			使用局部代碼塊在jsp中進行邏輯判斷,書寫麻煩,閱讀困難。
		開發:
			servlet進行請求邏輯處理,使用jsp進行頁面展現。
	Jsp的全局代碼塊:
		特點:
			聲明的java代碼作為全局代碼轉譯到對應的servlet類中。
		使用:
			<%! 全局代碼 %>
		注意:
			全局代碼塊聲明的代碼,需要使用局部代碼塊調用。
	Jsp的脚本段語句:
		特點:幫助我們快速的獲取變量或者方法的返回值作為數據響應給瀏覽器。
		使用:<%=變量名或者方法%>
		注意:不要在變量名或者方法後使用分號。	
		比特置:除jsp語法要求以外的任意比特置。
	Jsp的靜態引入和動態引入:
		靜態引入:
			<%@include file="要引入的jsp文件的相對路徑" %>
			特點:
				會將引入的jsp文件和當前jsp文件轉譯成一個java(Servlet)文件使用。
				在網頁中也就顯示了合並後的顯示效果。
			注意:
				靜態引入的jsp文化不會單獨轉譯成java(Servlet)文件。
				當前文件和靜態引入的jsp文件中不能够使用java代碼塊聲明同名變量。
		動態引入:
			<jsp:include page="要引入的jsp文件的相對路徑"></jsp:include>
			特點:
				會將引入的jsp文件單獨轉譯,在當前文件轉譯好的java文件中調用引入的jsp文件的轉譯文件。
				在網頁中顯示合並後的顯示效果。
			注意:
				動態引入允許文件中聲明同名變量。
		jsp的轉發標簽:
			
		優點:
			降低jsp代碼的冗餘,便於維護昇級。
	jsp的轉發標簽forward:
		使用:			
			<jsp:forward page="要轉發的jsp文件的相對路徑"></jsp:forward>
		特點:
			一次請求
			地址欄信息不改變。
		注意:
			在轉發標簽的兩個標簽中間除了寫<jsp:param name="str" value="aaa" />子標簽不會報錯,其他任意字符都會報錯。
			<jsp:param name="str" value="aaa" />
			name屬性為附帶的數據的鍵名
			value為附帶的數據內容
			注意:會將數據以?的形式拼接在轉發路徑的後面。
	jsp的九大內置對象:
		內置對象:
			jsp文件在轉譯成其對應的Servlet文件的時候自動生成的並聲明的對象。我們在jsp頁面中直接使用即可。
		注意:
			內置對象在jsp頁面中使用,使用局部代碼塊或者脚本段語句來使用。不能够在全局代碼塊中使用。
		內容:九個對象
			pageContext:頁面上下文對象,封存了其他內置對象。封存了當前jsp的運行信息。
					注意:每個Jsp文件單獨擁有一個pageContext對象。
					作用域:當前頁面。
			request:封存當前請求數據的對象。由tomcat服務器創建。一次請求
			session:此對象用來存儲用戶的不同請求的共享數據的。一次會話
			application:也就是ServletContext對象,一個項目只有一個。存儲用戶共享數據的對象,以及完成其他操作。項目內
			response:響應對象,用來響應請求處理結果給瀏覽器的對象。設置響應頭,重定向。
			out:響應對象,Jsp內部使用。帶有緩沖區的響應對象,效率高於response對象。
			page:代錶當前Jsp的對象。相當於java中的this。
			exception:异常對象。存儲了當前運行的异常信息。
				注意:使用此對象需要在page指定中使用屬性isErrorPage="true"開啟。
			config:也就是ServletConfig,主要是用來獲取web.xml中的配置數據,完成一些初始化數據的讀取。
	四個作用域對象:
		pageContext:當前頁面.解决了在當前頁面內的數據共享問題。獲取其他內置對象。
		request:一次請求。一次請求的servlet的數據共享。通過請求轉發,將數據流轉給下一個servlet。
		session:一次會話.一個用戶的不同請求的數據共享。將數據從一次請求流轉給其他請求。
		application:項目內.不同用戶的數據共享問題。將數據從一個用戶流轉給其他用戶。
		作用:
			數據流轉
	Jsp的路徑:
		在jsp中資源路徑可以使用相對路徑完成跳轉,但是:
			問題一:資源的比特置不可隨意更改。
			問題二:需要使用../進行文件夾的跳出。使用比較麻煩。
		使用絕對路徑:(必須會)
			/虛擬項目名/項目資源路徑
			例如:
					<a href="/jsp/jspPro.jsp">jspPro.jsp</a>
					<a href="/jsp/a/a.jsp">a.jsp</a><br />
			注意:在jsp中資源的第一個/錶示的是服務器根目錄,相當於:localhost:8080
		使用jsp中自帶的全局路徑聲明:
			<%
				String path = request.getContextPath();
				String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
			%>
			<base href="<%=basePath%>">
			作用:
				給資源前面添加項目路徑:		http://127.0.0.1:8080/虛擬項目名/上		
--%>
<html>
	<head>
		<title>jsp基本語法學習</title>
		<meta charset="utf-8"/>
	</head>
	<body>
		<h3>jsp基本語法學習</h3>
		<hr />
		<!-- 局部代碼塊 -->
		<%
			//聲明java代碼域--局部代碼塊聲明
			String str="jsp中使用邏輯校驗很難受";
			int a=2;
			if(a>3){
		%>
			<b>jsp學習很簡單</b>
		<%} else{%>
			<i>	<%=str%></i>
			
		<%test();} %>
		
		<!--全局代碼塊 -->
		<%!
			int b=5;
			public void test(){
				System.out.println("我是全局代碼塊聲明");
			}
		%>
		<!--jsp的靜態引入  -->
		<%@include file="includeStatic.jsp" %>
		<!-- jsp的動態引入 -->
		<jsp:include page="includeActive.jsp"></jsp:include>
		
		<!-- jsp的轉發forward標簽 -->
		<%-- <jsp:forward page="forward.jsp">
			<jsp:param value="aaa" name="str"/>
		</jsp:forward> --%>
		<!-- jsp的 九大內置對象學習-->
		<%
			//獲取請求數據
			String s=request.getParameter("str");
			request.getAttribute("str");
		%>
		<%=s%>
		<%
			//response.sendRedirect("forward.jsp");
		
		%>
	<!--Jsp的路徑  -->
		<br />
		<a href="/jsp/a/a.jsp">a.jsp</a><br />
		<a href="a/b/b.jsp">b.jsp</a><br />
	</body>
</html>

incloudStatic.jsp 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'includeStatic.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>

  <body>
 	 <%
 	 	//int a=5;
 	 %>
	  <b>我是靜態引入頁面---網站聲明</b>
  </body>
</html>

incloud Active

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'includeActive.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <i>我是動態引入------網站聲明</i>
  </body>
</html>

 fprword.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'forward.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <b>我是轉發頁面---forward--<%=request.getParameter("str") %></b>
  </body>
</html>

error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'error.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
   	服務器繁忙,請稍後重試.
  </body>
</html>

 

 

 

 

 

版權聲明
本文為[xiaoxiao_2446xuxu]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201272033124970.html

隨機推薦