redhat 6.7 32bit 환경에서 테스트중 에러가 발생했다..
톰캣 위치/webapps/jsp/HelloBean.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <jsp:useBean id="time" class ="java.util.Date" scope="page" /> <jsp:useBean id="hello" class = "com.test.HelloBean" scope="page" /> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Use Bean Test</title> </head> <body> <h3> Use Bean Test</h3> Hello.. <%= hello.getName() %> <hr> Time : <%= time.toLocaleString() %> </body> </html> | cs |
톰캣 위치/webapps/jsp/WEB-INF/classes/src/HelloBean.java
1 2 3 4 5 6 7 8 9 10 11 12 | package com.test; public class HelloBean{ private String name = "World"; public HelloBean() { } public void setName(String name){ this.name = name; } public String getName(){ return name; } } | cs |
두 파일을 생성 한 후 "톰캣 위치/webapps/jsp/WEB-INF/classes/src/" 의 디렉토리에서 다음과 같이 컴파일 해준다.
# javac HelloBean.java
그 후 생성된 HelloBean.class 파일을 /webapps/jsp/WEB-INF/classes/com/test 로 옮겨준다.
그뒤 로컬에서 테스트 할 경우 웹 브라우저를 켜고
127.0.0.1:8080/jsp/HelloBean.jsp 를 실행하면 될 줄 알았는데!!!!!!!!!
아래와 같은 에러가 발생했다.
HTTP Status 500 - java.lang.NoClassDefFoundError: com/test/HelloBean (wrong name: hello/HelloBean)
이리저리 구글링을 해서 검색해본결과
jsp 파일의
<jsp:useBean id="hello" class = "com.test.HelloBean" scope="page" />
부분을
과 같이 한 단계 더 추가해 주고
<jsp:useBean id="hello" class = "com.test.simple.HelloBean" scope="page" />
java 파일도 마찬가지로
패키지 선언 부분을
package com.test;
다음과 같이 바꿔주고 실행해 보면 에러 없이 잘 뜨는 것을 확인할 수 있다.
package com.test.simple;
'Dev' 카테고리의 다른 글
find 명령어 사용하기 (0) | 2016.07.22 |
---|---|
ntp poll interval 에 대해서 (0) | 2016.03.10 |
$$ 을 사용하여 임시 파일 만들기. (0) | 2016.02.23 |
[redhat 6.7] telnet server 설치 (0) | 2016.02.19 |
CentOS 7 nfs 설정 (1) | 2016.02.18 |