jsp 파일 압축 다운로드

명령줄 압축기사용의 경우 종속성에 대한 jar 파일 이름에 엄격한 제한이 있습니다(아래 명령줄 압축기 섹션에 자세한 내용). 원래 David Roussel에 의해 게시 : 이 문제에 대한 해결책과 어쨌든 좋은 방법은 서슬렛을 응용 프로그램의 일부에 대한 항목으로 사용하는 것입니다. 그런 다음 요청 디스패처를 사용하여 JSP로 전달하여 보기를 제공합니다. 예를 들어 URL /myapp/admin?cmd=add.user에 액세스하면 관리자 서버렛이 호출됩니다. 서들(servlet)은 사용자 로그인을 확인하고, addUser.jsp 페이지에 필요한 빈을 만들고, 요청 컨텍스트에 콩을 추가하고 gzip 래핑(잠시 설명)을 수행합니다. 오류가 발생하면 error.jsp로 요청을 전달하면 cmd 페이지 매개 변수에 의해 결정된 대로 요청을 올바른 jsp로 전달합니다. 출력 스트림 압축을 작동하는 트릭은 RequestDispatcher.forward()를 사용하면 사용자 고유의 ServletResponse를 전달할 수 있습니다. 당신이해야 할 모든 원래 ServletResquest를 왜곡하는 ServletResponse를 구현하는 자신의 클래스를 만드는 것입니다. 각 메서드는 이 스레드를 더 자세히 설명하는 모든 압축 집합을 수행해야 하는 getOutputStream() 메서드를 제외하고 래핑된 개체에 만 위임해야 합니다. 웹 앱의 진입점으로 서블릿을 사용하지 않으려면 JSP extend directive를 사용할 수 있습니다. 이 지시문은 각 JSP 페이지의 맨 위에 배치되어야 하며 JSP 컴파일러가 give 클래스를 생성된 페이지 서벨의 기본 클래스로 사용하도록 지시합니다. 이 기본 클래스에서 JSP에 대 한 출력 스트림 압축에 추가 하는 모든 후크 JSP에 투명 하 게. 확장 지시문을 사용하는 방법에 대한 JSP 자습서를 참조하십시오.

나는 이것이 도움이되기를 바랍니다. 데이비드 루셀 HTML 압축 하는 동안 다음 페이지 소스에 적용 됩니다.: 빌드 프로세스 동안 HTML 및 XML 파일을 압축에 대 한 메이븐 HTMLCompressor 플러그인 알렉스 Tunyk에 의해 만들어진 사용할 수 있습니다:이 압축 된 버전으로 /test/폴더 내의 모든 xml 파일을 덮어씁니다. ZIP에 필요한 파일은 BLOB로 저장되어 바이트[]로 추가됩니다. ZIPEntry 모든 것이 잘 작동하지만 내보낸 파일을 검토 할 때 콘텐츠 유형이 개별적으로 없고 잘못된 콘텐츠, 권장 사항으로 표시되지 않습니까? 원래 윌리엄 브로그덴에 의해 게시 : 그것은 당신이 대신 JSPWriter의 GZIP 압축 출력 스트림을 얻기 위해 JSP 엔진을 사용자 정의해야 할 것 같은 나에게 보인다. Tomcat 소스 코드로 이 작업을 수행할 수 있습니다. Bill 이 정보를 사용하면 사용할 압축 매개 변수를 결정하는 데 도움이 될 수 있습니다. 이 솔루션은 바이트[] zip = zipFiles(디렉터리, 파일)가 있기 때문에 대용량 파일에서는 작동하지 않습니다. 그것에. 결과 파일은 메모리에 맞아야 합니다.