jspの9大暗黙オブジェクトの使用概要

7504 ワード

JSPの暗黙オブジェクト[9個]
1』データ共有用オブジェクト:pageContext:request:session:アプリケーション:
2』サーブレットに関連するオブジェクト:page:config:
 
3』入出力に関するオブジェクト:out:request:response:
 
4』異常処理に関するオブジェクトexception
以下、一つ一つ説明します.
 
 
1)データ共有の対象:
データ共有:
PageContext(Webページのこのページでデータを共有)request(同じリクエスト応答中)session(同じセッションでデータを共有)アプリケーション(アプリケーション実行中にデータを共有)
この4つのコンテナオブジェクトは、同じ方法でデータを保存できます.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>    </title>
</head>
<body>
	<%
		//  
		pageContext.setAttribute("pageContext", 1);
		request.setAttribute("request", 1);
		session.setAttribute("session", 1);
		application.setAttribute("application", 1);
	
	//    
		Object obj=pageContext.getAttribute("pageContext");
		Object obj1=request.getAttribute("request");
		Object obj2=session.getAttribute("session");
		Object obj3=application.getAttribute("application");
	%>
	pageContext:<%=obj%><br>
	request:<%=obj1%><br>
	session:<%=obj2%><br>
	application:<%=obj3%><br>
</body>
</html>

ページ出力:pageContext:1 request:1 session:1アプリケーション:1
 
重要な内容を挿入します.
サーブレット転送メカニズムa).forwordはrequestを転送します.getRequestDispatcher("index.jsp").forward(request, response);b).义齿getRequestDispatcher("index.jsp").include(request,response);c).リダイレクト転送response.sendRedirect("index.jsp");(リダイレクト転送は上記と2つの違いで、リクエストを再送信し、requestで共有されているデータは存在しません)
 
 
2)サーブレットに関連するオブジェクト:
page:pageはservletと関係があり、jspページ自体(jspはservlet)を指し、pageはthisであり、pageを使いたい場所はthisで表すことができる.だからpageの使用は少ないです;
config:jsp構成情報を格納するオブジェクト:
xmlファイルの構成:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>ysdx</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
  	<servlet-name>aa</servlet-name>
  	<jsp-file>/index5.jsp</jsp-file>
  	<init-param>
  		<param-name>className</param-name>
  		<param-value>oracle.jdbc.driver.OracleDriver</param-value>
  	</init-param>
  	<init-param>
  		<param-name>url</param-name>
  		<param-value>jdbc:oracle:thin:@127.0.0.1:1521:ORCL</param-value>
  	</init-param>
  	<init-param>
  		<param-name>user</param-name>
  		<param-value>scott</param-value>
  	</init-param>
  		<init-param>
  		<param-name>pwd</param-name>
  		<param-value>tiger</param-value>
  	</init-param>
  </servlet>
  <servlet-mapping>
  	<servlet-name>aa</servlet-name>
  	<url-pattern>/aa</url-pattern>
  </servlet-mapping>
  
</web-app>

jspファイル:
<%@page import="org.apache.jasper.servlet.JspServlet"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	   index5.jsp!

	<%
	String className = config.getInitParameter("className");
	String url = config.getInitParameter("url");
	String user = config.getInitParameter("user");
	String pwd = config.getInitParameter("pwd");
%>


<%=className %> <br/>
<%=url %> <br/>
<%=user %> <br/>
<%=pwd %> <br/>
</body>
</html>

 
3)入出力に関する対象:
out:ブラウザへの情報出力request:要求情報を含むresponse:含む応答情報
 
4.例外に関するオブジェクト:exception:例外処理(エラーとして宣言されたページにのみexceptionオブジェクトがある)、1)エラーページを定義します<%@page isErrorPage="true"%>----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ page isErrorPage="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
         !!

<%
String msg = exception.getMessage();
%>

<%=msg %>
</body>
</html>

2)ページに異常<%@page errorPage="error.jsp"%>を処理する必要がある場合
---------------------------------------------------------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>

<%@ page errorPage="error.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

	<%
		int a = 1, b = 0;
	%>
	<%=a / b%>
	<a href="index7.jsp">       </a>


</body>
</html>