728x90
반응형
#application - 파일 읽는 방법(기본 객체 사용)
#application 기본 객체 사용하여 자원 읽기
-WebContent는 이클립스(개발 프로그램)의 경로이다.
-개발상의 경로와 배포경로를 정확히 알 수가 없다.
-절대 경로를 사용해서 파일을 읽어오면 유지보수에 문제가 생길 수 있다.
-이런 문제를 해결할 수 있도록 웹 애플리케이션의 파일에 접근할 수 있는 메서드를 제공하고 있다.
-(path) : 웹 어플리케이션 상의 경로
#application기본 객체가 제공하는 자원 접근 메서드
메서드 | 리턴 타입 | 설명 |
getRealPath(String path) | String(디스크상의 경로) | 웹 어플리케이션 내에서 지정한 경로에 해당하는 자원의 시스템상에서의 경로를 리턴한다.(읽기, 쓰기 모두 가능) |
getResource(String path) | java.net.URL | 웹 어플리케이션 내에서 지정한 경로에 해당하는 자원에 접근할 수 있는 URL 객체를 리턴한다.( 읽기만 가능) |
getResourceAsStream(String path) | java.io.InputStream | 웹 어플리케이션 내에서 지정한 경로에 해당하는 자원으로부터 데이터를 읽어올 수 있는 InputStream을 리턴 한다. (읽기만 가능) |
#getResourceAsStream 메서드 사용
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.io.IOException"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>application 기본 객체 사용하여 자원 읽기1</title>
</head>
<body>
<%
String resourcePath ="/message/notice.txt";
%>
자원의 실제 경로:<br>
<%= application.getRealPath(resourcePath) %>
<br>
-------------<br>
<%=resourcePath %>의 내용<br>
-------------<br>
<%
char[] buff = new char[128];
int len = -1;
InputStreamReader br = null;
try{
br = new InputStreamReader(application.getResourceAsStream(resourcePath));
while( (len = br.read(buff)) != -1){
out.print(new String(buff, 0, len));
}
}catch(IOException e){
e.printStackTrace();
}
%>
</body>
</html>
-결과 화면
#getResource 메서드 사용
<%@page import="java.net.URL"%>
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.io.IOException"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>application 기본 객체 사용하여 자원 읽기2</title>
</head>
<body>
<%
String resourcePath ="/message/notice.txt";
char[] buff = new char[128];
int len = 01;
URL url = application.getResource(resourcePath);
InputStreamReader br = null;
try{
br = new InputStreamReader(url.openStream());
while( (len = br.read(buff)) != -1){
out.print(new String(buff, 0, len));
}
}catch(IOException e){
out.println("익셉션 발생:" + e.getMessage());
}
%>
</body>
</html>
-결과 화면
728x90
반응형
'IT > JSP' 카테고리의 다른 글
[JSP] - 20. 기본 객체의 속성(Attribute) - pageContext, request, session, application (0) | 2020.07.23 |
---|---|
[JSP] - 19. 기본 객체와 영역(scope) - 2 (0) | 2020.07.23 |
[JSP] - 17. application - 파일 읽는 방법(절대경로) (0) | 2020.07.22 |
[JSP] - 16. application - 로그 기록 파일 만드는 방법 (0) | 2020.07.22 |
[JSP] - 15. application - 서버정보 얻는 방법 (0) | 2020.07.22 |
댓글