[JSP]埋め込みオブジェクト
configオブジェクト
共有データのオブジェクト
Webタグを使用します.データはxmlに格納され、
getInitParameter()
方法でjsp나 servlet에서 데이터를 공유하는 방식
が格納される.まずはWebxml用のjspファイルとservletを登録し、init-paramタグにketとvalue値を格納します.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- config 객체 -->
<servlet>
<servlet-name>servletEx</servlet-name>
<jsp-file>/jspEx.jsp</jsp-file>
<init-param>
<param-name>adminId</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>adminPw</param-name>
<param-value>1234</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>servletEx</servlet-name>
<url-pattern>/jspEx.jsp</url-pattern>
</servlet-mapping>
</web-app>
servlet-name
でservletの任意の名前を作成します.jsp-file
は、使用するjspファイル名(パス)を提供します.servlet
ラベルとservlet-mapping
の内容は同じであるべきです.key値
param-name
はjspファイルからデータをロードするために使用され、value値param-value
は値を格納するために使用される.使用するjspファイルのコードを表示します.
<!-- jspEx.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%!
String adminId;
String adminPw;
%>
<%
adminId = config.getInitParameter("adminId");
adminPw = config.getInitParameter("adminPw");
%>
<p>adminId : <%= adminId %></p>
<p>adminPw : <%= adminPw %></p>
</body>
</html>
config 객체(or getServletConfig() 사용도 가능)
でgetInitParameter()メソッドでweb.xmlに格納されているデータをロードします.アプリケーション・オブジェクト
アプリケーション間でデータを共有するオブジェクト
web.データはxmlに格納され、特定のservletではなく
모든 servlet에서 사용할 수 있게 하는 방법
である.同じように、コードを見て理解しましょう.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- application 객체 -->
<context-param>
<param-name>imgDir</param-name>
<param-value>/upload/img</param-value>
</context-param>
<context-param>
<param-name>testServerIP</param-name>
<param-value>127.0.0.1</param-value>
</context-param>
<context-param>
<!-- 실제로 사용자한테 서비스 되는 IP-->
<param-name>realServerIP</param-name>
<param-value>68.0.30.1</param-value>
</context-param>
</web-app>
configオブジェクトと同様に、context-param
のparam-name
およびparam-value
を使用して、キーと値の役割を果たします.<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%!
String imgDir;
String testServerIP;
String realServerIP;
%>
<%
imgDir = application.getInitParameter("imgDir");
testServerIP = application.getInitParameter("testServerIP");
realServerIP = application.getInitParameter("realServerIP");
%>
<p>imgDir : <%=imgDir%></p>
<p>testServerIP : <%=testServerIP%></p>
<p>realServerIP : <%=realServerIP%></p>
</body>
</html>
param-name
の値は、アプリケーションオブジェクトのgetInitParameter()メソッドから取得されます.アプリケーションのgetter、setter
setAttribute()
属性を格納するロール(jspファイルに属性を入れることができます).
<!-- jspEx.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page errorPage="errorPage.jsp" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
application.setAttribute("connectedIP", "165.62.58.23");
application.setAttribute("connectedUser", "hong");
%>
</body>
</html>
getAttrubute()
属性をインポートする役割(setAttribute()で使用される属性値を取得するために使用されます).
<!-- jspExGet.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%!
String connectedIP;
String connectedUser;
%>
<!-- application 객체 getAttribute() -->
<%
connectedIP = (String) application.getAttribute("connectedIP");
connectedUser = (String) application.getAttribute("connectedUser");
%>
<p>connectedIP : <%= connectedIP %></p>
<p>connectedUser : <%= connectedUser %></p>
</body>
</html>
他のjspファイルから値を取得できます.Outオブジェクト
HTMLコードのようにコンテンツを出力するオブジェクト.
IntelliJを使用するにはlibをインストールする必要がある場合があります.
インストール方法
入力ボックスに
javax.servlet.jsp
と入力し、Enterを押して対応するバージョンを選択し、OKを押します.インストールを確認してOKをクリック
あとでjspにprint()メソッドを入力します.入力が正常であれば、
out.print()
を使用してHTMLコードを使用するように使用できます.<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<!-- out 객체 -->
<%
out.print("<h1>Hello Java World!!</h1>");
out.print("<h2>Hello JSP World!!</h2>");
out.print("<h3>Hello Servlet World!!</h3>");
%>
</body>
</html>
例外オブジェクト
例外処理に使用されるjspファイル.
エラーが発生した場合は、対応するjspファイルに移動します.
<!-- jspEx.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page errorPage="errorPage.jsp" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<!-- exception 객체 -->
<%
// 선언만 하고 초기화 하지 않았음
out.print(str.toString());
%>
</body>
</html>
コードの上部に、ページコマンドでerrorを介してページファイルに書き込みます.<!-- errorPage.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isErrorPage="true" %>
<html>
<head>
<title>Error Page</title>
</head>
<body>
<%
response.setStatus(200);
String msg = exception.getMessage();
%>
<h1>error message : <%= msg %></h1>
</body>
</html>
errorPage.jspファイルの上部にもpageコマンドでisErrorPage="true"
タグを付け、エラー処理ページが正しいことを示します.まず、ページの表示が良好であることを確認するために、通常コード値200でページ内容を確認することができる.
Reference
この問題について([JSP]埋め込みオブジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@conficker77/JSP-내장-객체テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol