2013-07-04 44 views
5

tôi có một dự án JSP ứng dụng web StudentApp và tôi cấu hình trong server.xml của tôi như sauKhông cho phép các để hiển thị các thư mục trong thư mục ROOT tôi

< Host name="test.com" appBase="D:/StudentApp" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> Context path="" reloadable="true" crossContext="true" > /Context> /Host>

Khi tôi bắt đầu ứng dụng của tôi nó đang chạy tốt . Tôi đã giữ một số thư mục trong D:/StudentApp như thuộc tính, ROOT, svn và tôi có thể truy cập tất cả các thư mục từ trang web của mình.
Ví dụ: tôi có thể truy cập như test.com/properties v.v. nếu tôi cung cấp cho đường dẫn này một cách chính xác. Tôi muốn chỉ giới hạn với thư mục ROOT..Bất cứ ai đã gặp phải cùng một loại vấn đề? Làm thế nào tôi có thể làm được điều này?

+0

hãy thử đặt mọi thứ trong WEB-INF và xem – Satya

+0

Cảm ơn nhận xét của bạn. Vì tôi đã định cấu hình đã có một số tệp, tôi không thể thay đổi vị trí thành WEB-INF. – Alex

+1

Bạn cần. Trừ khi bạn muốn các giải pháp xấu xí với cấu hình các quy tắc truy cập của máy chủ HTTP của bạn. –

Trả lời

0

Theo tiêu chuẩn dành cho các ứng dụng web, mọi thứ trong AppBase (ngoại trừ WEB-INF) hiển thị với trình duyệt (nếu thư mục duyệt được bật hoặc sử dụng loại url đầy đủ của tệp). Vì vậy, nếu bạn không muốn người dùng truy cập các tập tin, họ phải đi theo WEB-INF

0

Bạn có hai lựa chọn:

  1. Xây dựng một bộ lọc trong bạn ứng dụng web để mọi yêu cầu phải kiểm tra trước khi xử lý cho ứng dụng của bạn.
  2. tính năng sử dụng tomcat Van và phát triển một Van như vậy có thể thu hẹp yêu cầu chỉ ROOT thư mục

Trừ khi bạn có thể tìm thấy một sẵn sàng để sử dụng Van, tôi khuyên bạn nên là người đầu tiên.

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