2012-10-15 3 views
0

저는 Vaadin 및 Java 웹 개발을 배우고 있습니다. Vaadin은 web.xml에서 <url-pattern>/*</url-pattern>을 사용하여 모든 URL을 com.vaadin.server.VaadinServlet으로 리디렉션 할 것을 제안합니다. 나는 또한 별도의 서블릿과 몇 가지 추가 URL을 처리 할 , 예컨대 :web.xml url-pattern - 두 가지 응용 프로그램을보다 구체적으로 함께 제공합니다.

<servlet-mapping> 
    <servlet-name>JnlpGenerator</servlet-name> 
    <url-pattern>*.jnlp</url-pattern> 
</servlet-mapping> 

이 실현하려 어떤 방법 /*이기 때문에, 이러한 다양한 패턴을 갖는 반면,이 있습니까? 현재 구성에서 예를 들어 이 처리되고 Vaadin 응용 프로그램이 시작되므로 http://localhost:8080/myapp/applet.jnlp은 무시됩니다. 당신이 com.vaadin.server.VaadinServlet을 확장 할 수있는 경우

내가

답변

0

:-) 어떤 도움을 주셔서 감사합니다, 그렇게하고 JnlpGenerator에 URL 패턴 *.jnlp을 전달하는 request.getRequestDispatcher().forward()을 사용하십시오. 다른 URL 패턴의 경우 super 메소드를 호출하여 일반적인 비즈니스를 수행하십시오. /VAADIN/*, /root_URI_for_vaadin_app/*

예를 내 프로젝트 중 하나에서 :

0

사실 만 제대로 작동하려면 vaading 확인하기 위해 다음과 같은 URI를 바인드해야

@WebServlet(name = "vaadinServlet", 
     urlPatterns = {"/app/*", "/VAADIN/*"}, 
     asyncSupported = false, 
     initParams = {@WebInitParam(
       name = "widgetset", 
       value = "com.vaadin.DefaultWidgetSet" 
     )} 
) 
@VaadinServletConfiguration(productionMode = false, ui = MainUi.class) 
public class AppServlet extends VaadinServlet {} 

그런 다음 당신이 어떤 URI에 어떤 서블릿을 결합 할 수 있으며 그들은 Vaadin과 함께 올바르게 작동해야합니다.