2011-07-25 6 views
2

내 서버 (Glassfish v3.1 오픈 소스 에디션)에 대한 AJAX 요청을하려고하는데 어떤 이유로 든 요청이 서버로 이동하지 않고 Tomcat에서 동일한 proyect를 실행합니다 7 올바르게 작동합니다. glassfich 나 뭐든지해야하는 구성이 있습니까 ??GlassFish가 ajax 요청에 응답하도록 설정합니다.

메신저 사용하여 이클립스 헬리오스, JSF 2 개에서 MyFaces 2.1.1, richfaces 4.0.0 및 글래스 피쉬 3.1 오픈 소스 버전은

여기에 전체 자바 EE 구현 선박 인 것으로 내 코드를

<h:panelGroup> 
    <h:inputText id="firstName" 
     value="#{RegistrationForm.first_name}" 
     required="true" 
     requiredMessage="Please enter your first name"> 
     <f:converter converterId="bankingCore.UpperCaseConventer for="firstName"/> 
     <f:ajax event="blur" execute="@all" render="@form"/> 
    </h:inputText> 
    <h:message id="NameError" for="firstName" styleClass="errorClass"/> 
</h:panelGroup>    

+0

: 그것은이, 톰캣으로와 "요청이 서버로 갈 수 없다"글래스 피시와 함께 작동하는 경우 요청이 클라이언트에 의해 발행되었으므로 (나는 변경하지 않았 음을 가정합니다.) 그래서 요청은 Tomcat *과 * GF 중 하나 또는 그들 중 아무 것도 발급 받아야합니다 (Firebug 또는 Chrome 개발자 도구로 확인할 수 있음). 클라이언트 및 서버 로그에서 확인하십시오. –

답변

2

글래스 피시를의 이미 번들 된 JSF 구현 (Mojarra). 글래스 피시는 웹 앱 전에 자동로드됩니다. 하지만 웹 애플리케이션에 다른 JSF 구현 (MyFaces)을 번들로 제공하기 때문에 충돌이 발생합니다. Tomcat은 간단한 JSP/Servlet 컨테이너이며 JSF 번들과 함께 제공되지 않으므로 충돌이 발생하지 않습니다 (웹 응용 프로그램에서 다른 구현/버전의 JSP/Servlet 라이브러리를 삭제할 때까지).

  1. 가 당신의 웹 애플리케이션에에서 MyFaces 라이브러리를 제거하십시오 :

    당신은 두 가지 옵션이 있습니다. webapp은 JSF 라이브러리를 포함하도록 Tomcat의 공유 클래스 경로를 변경하지 않고 Tomcat에서만 더 이상 실행되지 않습니다.

  2. 번들 JSF 구현을로드하지 않고 대신 webapp 번들 JSF를 사용하도록 Glassfish에 지시하십시오. 다음 행을 포함하여 웹 애플리케이션의 /META-INF/sun-web.xml 파일을 편집 : 문제 설명에 문제가 있습니다

    <class-loader delegate="false" /> 
    <property name="useBundledJsf" value="true" /> 
    
관련 문제