2017-12-07 1 views
0

형식이 지정된 방식으로 데이터를 표시하는 JSP 페이지가 있습니다. 브라우저는 showInfo.do라는 스프링을 호출 할 수 있으며 해당 JSP로 전달됩니다. 즉Java 코드에서 jsp를 호출하고 출력을 얻습니다.

public showInfo(HttpServletRequest request, HttpServletResponse response) { 
RequestDispatcher rd = getServletContext().getRequestDispatcher("info.jsp"); 
dispatcher.forward(request,response); 
} 

JSP 출력은 HTML입니다.

void saveInfo() { 
params.setParameter("info1", "data"); 
String responseStr = Invoke("info.jsp", params); 
//save responseStr to disk 
} 

내가 디스크에있는 HTML 페이지를 저장할 수 있도록하려면 :

는 지금은, (안 서블릿 컨텍스트에서) 내 자바 서버 측 코드에서 수동으로 이런 일을이 JSP 출력을 저장할 서비스에서 가져 와서 사용자가 브라우저에서 볼 수있는 것처럼 보이게 만듭니다. 따라서 서버가 오프라인이면 사용자는 저장된 html 파일을 두 번 클릭하고 브라우저에서 마지막 정보를 볼 수 있습니다. 이 작업을 수행하는 방법에 대해 알고 싶습니다.

답변

0

Oups. 서블릿 스펙은 서블릿 컨테이너가 JSP 파일을 실행할 수 있어야합니다. 이는 일반적으로 JSP를 일반 Java로 변환하고 서블릿 클래스 파일을 생성하여 수행됩니다.

당신은 당신이해야 서블릿 컨테이너의 외부에있는 경우 : * 중 하나를 완전히에 JSP 파일을 변환 * 또는 서블릿 컨테이너에 의존 톰캣 같은 서블릿 컨테이너에서 소스를 사용하여 예를 들어, JSP 실행 환경을 구현 .java 또는 .class 서블릿을 사용하고 Servlet 인터페이스 메소드를 사용하십시오.

또는 headless browser을 사용하여 응용 프로그램의 출력을 캡처 할 수 있습니다.

관련 문제