2017-09-12 1 views
2

주 -이 질문은 이전에 응답되었을 수도 있지만 이에 대한 메모를 찾을 수 없습니다. 따라서 묻고!<jsp-file> 서블릿 매핑에 해당하는 Facelets

배경 - 저는 뷰 기술로 JSP를 사용하는 레거시 JSF 응용 프로그램을 개발 중입니다. 이제 JSF 2.2/2.3으로 이동하기로 결정 했으므로 JSP 페이지를 Facelets로 변경합니다.

문제 -은 web.xml에서, 우리는 매핑 다음 한이 -

<servlet> 
    <servlet-name>dummyframe</servlet-name> 
    <jsp-file>/WEB-INF/dummyframe.jsp</jsp-file> 
</servlet> 

<servlet-mapping> 
    <servlet-name>dummyframe</servlet-name> 
    <url-pattern>dummyframe</url-pattern> 
<servlet-mapping> 

우리는 파일을 facelet하는 JSP 파일을 변환하지만,이 JSP 파일 매핑을 처리하는 방법을 잘하지 않았다.

Facelet 페이지로 리디렉션되는 Java 클래스를 작성할 계획입니다. 이 경우, 매핑이 될 것입니다 -

<servlet> 
    <servlet-name>dummyframe</servlet-name> 
    <servlet-class>xxx.xxxx.dummyframe</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>dummyframe</servlet-name> 
    <url-pattern>dummyframe</url-pattern> 
<servlet-mapping> 

내가 가진 질문 - 1)이 좋은 대안이다? 2) 자바 클래스를 작성하지 않고도 다른 방법이 있습니까?

+0

시작 목표는 무엇인지 설명하거나 당신이는 JSP/서블릿이 무엇인지 ...이 모두가 '잘못'아키텍처를 방지하기 위해 달성하는 등으로 .. 수동 서블릿을 생성하는 것은 물론 가능하지만 필요한 기능에 따라 나머지 또는 비누를 사용할 수도 있습니다. – Kukeltje

+0

@Kukeltje. JSP 페이지는 애플리케이션에 대한 중요한 정보를 표시하는 일회성 페이지입니다. REST 또는 SOAP을 사용할 계획이 없으므로 정기적으로 액세스하지 않습니다. – Akash

답변

1

1) 좋은 대안인가?

네,하지만 서블릿 클래스 대신 filter에서 리디렉션을 구현하는 것이 더 좋을 것이라고 생각합니다.


2) 자바 클래스를 작성하지 않고도 사용할 수있는 다른 대안이 있습니까? 이

<html> 
    <head> 
    <meta http-equiv="Refresh" content="0; URL=mynewdummyfile.jsf"> 
    </head> 
</html> 

나 :

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

<html> 
    <body> 
    <c:redirect url="mynewdummyfile.jsf"/> 
    </body> 
</html> 

나이 :

<%@ page import = "java.io.*,java.util.*,javax.servlet.http.HttpServletResponse" %> 

<html> 
    <body> 
     <% 
     response.sendRedirect("mynewdummyfile.jsf"); 
     %> 
    </body> 
</html> 

또는이고 /WEB-INF/dummyframe.jsp이에 넣어

는 XML을 웹에서 더미 서블릿 매핑을 남겨주세요 this :

,210
<%@ page import = "java.io.*,java.util.*,javax.servlet.http.HttpServletResponse" %> 

<html> 
    <body> 
     <% 
     response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); 
     response.setHeader("Location", "mynewdummyfile.jsf"); 
     %> 
    </body> 
</html> 

나이 :

<%@ page import = "javax.servlet.ServletContext" %> 

<html> 
    <body> 
     <% 
     ServletContext sc = getServletContext(); 
     sc.getRequestDispatcher("/WEB-INF/mynewdummyfile.jsf").forward(request, response); 
     %> 
    </body> 
</html> 
+0

감사합니다 @Krokodilko 설명. 우리가 JSP를 완전히 없애려는 것처럼 필터로 변환하는 옵션 1을 생각해 보겠습니다. – Akash