찾다

 >  Q&A  >  본문

JSP 페이지의 데이터베이스에서 이미지 검색 및 표시: 단계별 가이드

<p>JSP 페이지의 데이터베이스에서 이미지를 검색하고 표시하는 방법은 무엇입니까? </p>
P粉191610580P粉191610580462일 전728

모든 응답(1)나는 대답할 것이다

  • P粉251903163

    P粉2519031632023-08-28 18:47:50

    단계별로 어떤 일이 일어나는지 살펴보겠습니다.

    • JSP는 기본적으로 HTML 출력을 생성하도록 설계된 뷰 기술입니다.
    • 이미지를 HTML 형식으로 표시하려면 HTML 요소가 필요합니다.
    • 이미지 위치를 지정하려면 src 속성을 지정해야 합니다.
    • src 属性需要指向有效的 http:// 속성은 유효한 http:// URL을 가리켜야 하므로 로컬 디스크 파일 시스템 경로 file://
    • 가 아니어야 합니다. 이는 서버와 클라이언트가 물리적으로 다른 시스템에서 실행될 때 작동하지 않기 때문입니다. 작동합니다.
    • http://example.com/context/images/foo.png)或作为请求参数(例如 http://example.com/context/images?id=1이미지 URL은 요청 경로(예:
    • http://example.com/context/images/foo.png) 또는 요청 매개변수(예: http://)에 이미지 식별자를 포함해야 합니다. 예: com/context/images?id=1).
    • /images/*JSP/서블릿 세계에서는 서블릿이
    • /images/*와 같은 특정 URL 패턴을 수신하도록 할 수 있으므로 특정 URL에서 일부 Java 코드를 실행할 수 있습니다.
    • byte[]InputStream 的形式获取,JDBC API 提供 ResultSet#getBytes()ResultSet#getBinaryStream()< /a> 为此,JPA API 提供@Lob이미지는 데이터베이스에서 byte[] 또는 InputStream으로 얻을 수 있는 이진 데이터입니다. JDBC API
    • byte[]InputStream 写入响应的 OutputStreamResultSet#getBytes()ResultSet#getBinaryStream()< /a> 이를 수행하려면 JPA API
    • 제공
    • @Lob입니다. Content-Type 响应头也需要设置。您可以通过 ServletContext#getMimeType() 基于图像文件扩展名,您可以通过 web.xml 中的 扩展和/或覆盖该扩展名
    • 서블릿에서는 응답의
    OutputStream에 이

    byte[] 또는 InputStream을 작성하면 됩니다(일반적인 Java IO

    방식입니다.

    클라이언트에게 데이터를 이미지로 처리하도록 지시해야 하므로 최소한 srcContent-Type 응답 헤더도 설정해야 합니다.

    ServletContext#getMimeType()🎜 이미지 파일 확장자를 기반으로 🎜web.xml의 🎜을 통해 확장자를 확장 및/또는 재정의할 수 있습니다. 🎜 🎜 🎜그렇게 되어야 합니다. 거의 코드 자체를 작성합니다. HTML부터 시작하겠습니다(🎜JSP🎜에서): 🎜 으아악 🎜필요한 경우 🎜EL🎜 동적 설정 🎜="https://stackoverflow.com/tags/jstl/info">JSTL🎜을 사용할 수도 있습니다. 🎜으아악

    그런 다음 /images/*를 수신하는 servlet< URL 模式上的 GET 请求/code>을 정의/생성합니다. 다음 예에서는 일반 JDBC를 사용하여 작업을 수행합니다.

    으아악

    그렇습니다. HEAD 및 캐시 헤더가 걱정되고 이러한 요청에 올바르게 응답하는 경우 이 정적 리소스 서블릿용 추상 템플릿을 사용하세요.

    참조:

    회신하다
    0
  • 취소회신하다