ServletContext#getMimeType() 이미지 파일 확장자를 기반으로 web.xml의
을 통해 확장자를 확장 및/또는 재정의할 수 있습니다. 그렇게 되어야 합니다. 거의 코드 자체를 작성합니다. HTML부터 시작하겠습니다(JSP에서): 으아악 필요한 경우 EL 동적 설정 ="https://stackoverflow.com/tags/jstl/info">JSTL을 사용할 수도 있습니다. 으아악
그런 다음/images/*를 수신하는servlet을 정의/생성합니다. 다음 예에서는 일반 JDBC를 사용하여 작업을 수행합니다.
으아악
그렇습니다. HEAD 및 캐시 헤더가 걱정되고 이러한 요청에 올바르게 응답하는 경우 이정적 리소스 서블릿용 추상 템플릿을 사용하세요.
단계별로 어떤 일이 일어나는지 살펴보겠습니다.
- JSP는 기본적으로 HTML 출력을 생성하도록 설계된 뷰 기술입니다.
- 이미지를 HTML 형식으로 표시하려면 HTML
- 이미지 위치를 지정하려면
가 아니어야 합니다. 이는 서버와 클라이언트가 물리적으로 다른 시스템에서 실행될 때 작동하지 않기 때문입니다. 작동합니다.
http://example.com/context/images/foo.png) 또는 요청 매개변수(예:
/images/*와 같은 특정 URL 패턴을 수신하도록 할 수 있으므로 특정 URL에서 일부 Java 코드를 실행할 수 있습니다.
- 는
제공
- @Lob입니다.
서블릿에서는 응답의
OutputStream에 이![]()
요소가 필요합니다.src속성을 지정해야 합니다.src属性需要指向有效的http://속성은 유효한http://URL을 가리켜야 하므로 로컬 디스크 파일 시스템 경로 file://http://example.com/context/images/foo.png)或作为请求参数(例如http://example.com/context/images?id=1이미지 URL은 요청 경로(예:http://)에 이미지 식별자를 포함해야 합니다. 예: com/context/images?id=1)./images/*JSP/서블릿 세계에서는 서블릿이byte[]或InputStream的形式获取,JDBC API提供ResultSet#getBytes()和ResultSet#getBinaryStream()为此,JPA API提供@Lob이미지는 데이터베이스에서byte[] 또는 李>InputStream으로 얻을 수 있는 이진 데이터입니다.JDBC APIbyte[]或InputStream写入响应的OutputStreamResultSet#getBytes()및ResultSet#getBinaryStream() 이를 수행하려면JPA APIContent-Type响应头也需要设置。您可以通过ServletContext#getMimeType()基于图像文件扩展名,您可以通过web.xml 中的扩展和/或覆盖该扩展名byte[] 또는InputStream을 작성하면 됩니다(일반적인Java IO
방식입니다.클라이언트에게 데이터를 이미지로 처리하도록 지시해야 하므로 최소한
ServletContext#getMimeType() 이미지 파일 확장자를 기반으로 web.xml의srcContent-Type 응답 헤더도 설정해야 합니다.그런 다음/images/*를 수신하는
으아악servlet을 정의/생성합니다. 다음 예에서는 일반 JDBC를 사용하여 작업을 수행합니다.그렇습니다. HEAD 및 캐시 헤더가 걱정되고 이러한 요청에 올바르게 응답하는 경우 이정적 리소스 서블릿용 추상 템플릿을 사용하세요.
참조: