2017-08-10 35 views
5

Để suppport tất cả các ký tự UTF-8, chúng tôi đã thêm vào trong Servlet lọcAuto xác định kiểu MIME trong wildfly10

servletResponse.setContentType("text/html; charset=" + "UTF-8"); 
servletRequest.setCharacterEncoding(servletResponse.getCharacterEncoding()); 

vì điều này nó đặt kiểu nội dung như "text \ html" cho tất cả các loại tập tin và cho css cũng và trình duyệt từ chối tải nó css với lỗi trên trình duyệt như.

Resource interpreted as Stylesheet but transferred with MIME type text/html: 

Nhưng trên công trình trong JBoss 6 Tôi đã cố gắng thiết lập

<servlet-container name="default"> 
    <jsp-config mapped-file="false" development="true"/> 
    <websockets/> 
    <mime-mappings> 
     <mime-mapping name="css" value="text/css"/> 
     <mime-mapping name="msi" value="application/x-msi"/> 
    </mime-mappings> 
</servlet-container> 

trong độc lập-full.xml nhưng điều này không hoạt động. Làm thế nào để nó tự động xác định các loại nội dung tập tin?

+0

Bạn không cần thực hiện việc này - mã hóa mặc định là UTF-8. Tôi sẽ xóa tất cả vì máy chủ sẽ tìm ra cho bạn. – stdunbar

+0

@stdunbar nếu tôi xóa mục này thì không thể lưu ký tự utf-8 vì nó sửa đổi ký tự đó thành một thứ khác – happy

Trả lời

1

Bộ lọc servlet của bạn thực sự không phải là câu trả lời hay nhất để hỗ trợ tất cả các ký tự UTF-8, như bạn thấy, lựa chọn này là lạ nhưng tôi sẽ không thảo luận vì nó không phải là câu hỏi của bạn.

Vì vậy, nếu bạn cần bộ lọc servlet không tương tác với các nội dung khác ngoài text/html, chỉ cần sử dụng mẫu url bộ lọc servlet.

Ví dụ, bạn có thể có một định nghĩa bộ lọc servlet như thế này:

<filter> 
    <filter-name>MyServletFilter<filter-name> 
    <filter-class>[...]</filter-class> 
    <init-param> 
     [...] 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>MyServletFilter</filter-name> 
    <url-pattern>*.jsp</url-pattern> 
</filter-mapping> 

Tất nhiên, bạn cần phải kiểm tra xem mô hình này phù hợp với cấu trúc thư mục của bạn và các phương tiện khác để truy cập vào động text/html nội dung của bạn.

Do đó, các tài nguyên như http://myserver.com/myapp/myservlet/staticcontent/file.xls sẽ không bị thay đổi bởi bộ lọc cụ thể của bạn.

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