2010-08-22 1 views
1

최근 프로젝트 중 하나에 Tomcat 및 .JSP를 사용하기로 결정 했으므로 약간의 장애가 발생했습니다. 내 로컬 클래스 "JSONCore" "형식으로 해결할 수없는 것 같습니다." index.jsp에서의처음으로 .JSP를 사용합니다. "JSONCore를 유형으로 해석 할 수 없습니다."(JSONCore는 로컬 클래스 임)

니펫 (문제 영역)의 JSONCore.java


<% 
    JSONCore jsonHandler = new JSONCore(); 
    jsonHandler.searchSongs("search_query").getString("songID"); 
%>

니펫

import httpclient.*; 
import org.json.JSONObject; 
public class JSONCore { 
public JSONCore() { 
    ... 
}

public JSONObject searchSongs(String query) throws Exception 
{ 
    ... 
} 

public String getStreamURL(String songID) throws Exception 
{ 
    ... 
} 

public JSONObject callRemote(String method, String post) throws Exception 
{ 
    ... 
} 

}

모든 이상한 부품이 컴파일 않는다는 것이다 및 NetBeans에서 .war 파일로 올바르게 빌드하십시오.

답변

1

패키지가없는 클래스는 패키지 내부의 클래스에서 보이지 않습니다. JSP는 servletcontainer 특정 패키지의 클래스로 컴파일되므로 packageless JSONCore 클래스는 JSP에서 보이지 않습니다.

는 패키지의 JSONCore 클래스를 넣고 또는@page import 문을 사용하여 선언하고 인스턴스화 전체 클래스 이름 중 하나를 사용하십시오.


즉, JSP는 작업에 대한 잘못된 장소입니다. 당신은 (간접적으로) 서블릿 클래스를 사용해야한다. How to avoid Java code in JSP files을 참조하십시오.

+0

오른쪽에 대한 소리, 감사합니다 BalusC. 웹 페이지가 일반 프로그램과 같은 특정 패키지와 연결되어 있지 않다는 것을 알지 못했습니다. –

+1

당신을 진심으로 환영합니다. 그러나 나는 JSP 코드에서 자바 코드를 피하는 것에 대한 조언을 권하고 싶다. 우리뿐 아니라 현재와 미래에도 자신을 위해서. – BalusC

0

Java 가져 오기 지시문을 사용하여 클래스의 구현을 어디에서 가져올 지 알려줘야합니다. JSP는 java로 변환되어 일반 Java 코드와 동일한 규칙을 따릅니다.