2012-02-20 79 views
5

Tôi không thể hiển thị hình ảnh trong JSP (và không thể truy cập những thứ khác như Javascript/jQuery bên ngoài thông qua SRC). Trang JSP sau chỉ chứa một thẻ <img> không thể hiển thị hình ảnh do SRC đặt.Không thể hiển thị hình ảnh trong JSP

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 
     <form action="Temp.htm" method="post"> 
      <img src="/images/temp.jpg" alt="Not available"> 
     </form> 
    </body> 
</html> 

Hình ảnh có trong /WEB-INF/jsp/images. Tôi cũng đã cố gắng để thay đổi vị trí hình ảnh và đảm bảo tất cả các lần mà con đường cho SRC là chính xác vẫn còn nó không. Điều tương tự cũng có thể xảy ra với các ứng dụng không có khung công tác. Nó hoạt động ở đó một cách hoàn hảo. Tôi đang thiếu gì ở đây?

+2

Bạn nên bắt đầu bằng cách nhận ra rằng điều này đã hoàn toàn không có gì để làm với Spring và Hibernate. –

Trả lời

10

Trước tiên, không thể truy cập vào /WEB-INF từ bên ngoài.

Thứ hai, nếu bạn sử dụng /images/temp.jpg, trình duyệt sẽ tải hình ảnh từ thư mục gốc của máy chủ web chứ không phải từ thư mục gốc của ứng dụng web (được triển khai theo đường dẫn ngữ cảnh).

Sử dụng thẻ JSTL <c:url> để tạo đường dẫn tuyệt đối từ thư mục gốc của ứng dụng web:

<img src="<c:url value='/images/temp.jpg'/>" alt=.../> 
5

Bạn không thể truy cập các tệp nằm ở số /WEB-INF/ trực tiếp từ web. Thư mục được bảo vệ khỏi quyền truy cập web.

Định vị tệp hình ảnh của bạn ở một nơi khác. /images/temp.jpg là một đường dẫn tuyệt đối, tuy nhiên bạn có thể cần một đường dẫn tương đối. Trỏ đường dẫn hình ảnh của bạn đến image/temp.jpg và đặt hình ảnh trong thư mục /images/ trực tiếp dưới gốc web của bạn. Ví dụ. WebContent/images hoặc src/main/webapp/images (tùy thuộc vào gốc web của bạn).

2

Thử đặt trong thư mục webapp chứ không phải WEB-INF. Obv. không tổ trong thư mục jsp.

Các vấn đề liên quan