일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- node.js
- MySQL
- Spring
- Android
- ibsheet
- swingx
- appspresso
- JDOM
- 가우스
- 선택적조인
- oracle
- MFC
- PLSQL
- jsr 296
- JSON
- 전자정부프레임워크
- Eclipse
- dock
- phonegap
- iBATIS
- jQuery
- Struts
- PHP
- rowspan
- GPS
- Ajax
- tomcat
- Google Map
- sencha touch
- WebLogic
- Today
- Total
Where The Streets Have No Name
웹어플리케이션에 로딩된 class파일 찾기 본문
가끔 클래스를 못 찾는다는 에러로 인해 삽질을 유발시키는 경우가 많다.
loader에 의해 로딩된 클래스를 찾을 수 있는 jsp코드를 올려본다.
<%@ page pageEncoding="euc-kr" %><%@ page import="
java.io.*,
java.util.*,
java.text.*
"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"
"http://www.w3.org/TR/html401/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title>JAR 파일 Checker</title>
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" class="padding_02">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<b>클래스패스 확인</b>
</td>
</tr>
</table>
<script type="text/javascript">
function jsSubmit() {
if (document.gForm.pkg.value != '') {
document.gForm.submit();
}
else {
alert('확인하고자 하는 클래스의 전체 패키지명을 입력하세요.');
document.gForm.pkg.focus();
}
}
</script>
<p>
<%
String pkg = null;
java.net.URL classUrl = null;
pkg = request.getParameter("pkg");
/*--
if (pkg == null || pkg.trim().length() == 0) {
pkg = "javax.servlet.http.HttpServlet";
}
--*/
%>
<form name='gForm' method='post' onSubmit='return false;'>
※ 확인하고자 하는 클래스의 전체 패키지명을 입력하세요. (ex : javax.servlet.http.HttpServlet)
<table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#E0E0E0">
<tr>
<td width=80 class="bbs_view">대상 클래스</td>
<td class="bg_white">
<input name='pkg' type='text' size='40'>
<input type="button" onClick="jsSubmit();" value='찾기' />
</td>
</tr>
</table>
</form>
<%
if ( pkg != null ) {
pkg = pkg.replace('.', '/').trim();
pkg = "/" + pkg + ".class";
classUrl = this.getClass().getResource(pkg);
if (classUrl == null) {
%>
<p>
※ 검색결과
<table width="100%" border="0" cellspacing="1" cellpadding="8" bgcolor="#E0E0E0">
<tr>
<td class="bg_white">
<B><%= pkg %></B> 를 찾을 수 없습니다.
</td>
</tr>
</table>
<%
} else {
%>
<p>
※ 검색결과
<%
String jarFile = classUrl.getFile();
int indexNo = jarFile.indexOf("!");
if (indexNo != -1)
jarFile = jarFile.substring(0, indexNo);
%>
<table width="100%" border="0" cellspacing="1" cellpadding="8" bgcolor="#E0E0E0">
<tr>
<td class="bg_white">
<B><%= pkg %></B>는 <p>
<B style='color:blue'>
<%= jarFile %></B> 파일의 <br>
-> <B style='color:green'><%= pkg %></B>
에서 로드되었습니다.<p>
</td>
</tr>
</table>
<%
}
}
%>
</td>
</tr>
</table>
</html>