2012-12-06 32 views
6

Tôi cần thiết lập tài nguyên URL trong WebSphere và đang theo hướng dẫn this. Tuy nhiên, hướng dẫn này yêu cầu sửa đổi web.xmlibm-web-bnd.xml WebSphere của WebSphere bằng cách sử dụng WebSphere Studio. Tôi không có một WebSphere Studio vì vậy tôi cần phải sửa đổi các tập tin đó bằng tay bằng cách sử dụng một trình soạn thảo văn bản. Tôi đã cố gắng để "tìm kiếm" cho 2 tập tin nhưng "kết quả tìm kiếm" là rất nhiều mà tôi không biết cái nào là đúng tập tin.Thiết lập tài nguyên URL trên Máy chủ ứng dụng WebSphere 7.0?

Tôi có thể tìm thấy 2 tệp ở đâu? Ngoài ra, tôi cần đặt giá trị nào cho id của resource-ref? Tôi nhận thấy rằng WebSphere Studio không có bất kỳ trường văn bản nào để thiết lập số resource-ref nhưng nó có một giá trị trên chế độ xem mã của nó.

Cảm ơn bạn!

Trả lời

18

web.xml là tệp JavaEE chuẩn và cấu trúc của nó được ghi chép đầy đủ trong đặc tả Servlet. Trong web.xml, bạn khai báo URL khi nó được biết đến trong không gian tên JNDI cục bộ của bạn (java:comp/env).

web.xml phải được đặt bên trong WEB-INF, bên dưới cấu trúc dự án WAR của bạn. Nếu bạn đang sử dụng một IDE (chẳng hạn như Eclipse) để tạo các dự án Web, tệp này đã được tạo cho bạn (trừ khi bạn sử dụng Đặc tả Servlet 2.5 trở lên - Servlet Specification 2.5 được bao gồm trong JavaEE 5.0 - nơi mô tả triển khai là tùy chọn).

ibm-web-bnd.xml là tệp dành riêng cho WebSphere. Nó chứa các liên kết của các tạo phẩm được khai báo (chẳng hạn như định nghĩa URL) thành một hiện vật thực. Bạn nên tham khảo tài liệu của IBM để tìm ra định dạng của tập tin đó.

Tệp ibm-web-bnd.xml phải nằm trong cùng thư mục với tên web.xml.

Các id thuộc tính của resource-ref có thể được thiết lập để bất kỳ giá trị mà bạn thích, miễn là nó là cross-tham chiếu bởi một khớp id thuộc tính bên trong ibm-web-bnd.xml. Đó là cách WebSphere có thể tương quan các định nghĩa trong ibm-web-bnd.xml với các định nghĩa trong web.xml. Chuỗi ngẫu nhiên bạn thấy trong hướng dẫn được tạo ra bởi RAD hoặc WSAD; bạn có thể đặt bất kỳ số nhận dạng nào ở đó.

EDIT (hướng dẫn thêm)

Tóm lại, quá trình này là:

  1. Trong web.xml, bạn xác định tên JNDI địa phương. Đó sẽ là tên mà mã Java của bạn đề cập đến URL. Ví dụ: myWebsiteUrl. Mã của bạn sẽ phải thực hiện tra cứu JNDI trên java:comp/env/myWebsiteUrl. Định nghĩa nằm dọc theo các dòng sau:

    <resource-env-ref> 
        <resource-env-ref-name>myWebsiteUrl</resource-env-ref-name> 
        <resource-env-ref-type>java.net.URL</resource-env-ref-type> 
    </resource-env-ref> 
    
  2. Trong chính WebSphere, thêm định nghĩa URL. Chìa khóa có tên JNDI trong cây JNDI của WebSphere theo đó URL sẽ được biết đến. Bạn có thể đặt bất kỳ giá trị nào ở đó, mặc dù nó được khuyến nghị (theo quy ước) mà bạn đặt trước nó với url/. Ví dụ: url/test.

  3. Trong ibm-web-bnd.xml, bạn cần phải liên kết myWebsiteUrl (tra cứu bởi ứng dụng của bạn) đến url/test (là tên JNDI mà WebSphere biết URL). Định nghĩa sẽ được dọc theo dòng:

    <resource-env-ref name="myWebsiteUrl" binding-name="url/test"/> 
    

Bước 3 là không cần thiết. Nếu ibm-web-bnd.xml không tồn tại trong thời gian triển khai, thì luồng triển khai dựa trên GUI (được sử dụng khi bạn triển khai các ứng dụng thông qua bảng điều khiển quản trị của WAS) sẽ nhắc bạn về các giá trị liên kết. (Nếu bạn đang triển khai bằng cách sử dụng tập lệnh, bạn vẫn có thể bỏ qua tệp ibm-web-bnd.xml miễn là bạn chỉ định các liên kết theo một cách khác, nhưng nằm ngoài phạm vi của câu trả lời này. Đọc tài liệu về các tệp chiến lược của IBMAdminApp.installApplication)

Lưu ý: miễn là bạn sử dụng JavaEE 5.0 trở lên, bạn không cần thuộc tính id trong các định nghĩa. Bài báo bạn đang đọc, bằng cách này, là cực kỳ lỗi thời.

+0

Xin chào, Isaac. Cảm ơn vì đã trả lời! Bạn có thể dạy tôi cách thiết lập WebSphere để sử dụng JNDI không? Tôi không có nền tảng cho JNDI và đây là lần đầu tiên tôi tạo một tài nguyên URL vì vậy tôi nghĩ rằng tôi đã hiểu nhầm điều gì đó. – Arci

+0

Dựa trên sự hiểu biết của tôi, để sử dụng JNDI, tôi cần thiết lập một tài nguyên URL trên WebSphere, trong đó tôi cần khai báo một URL trong cặp giá trị khóa (ví dụ, url1 = http://www.website.com/url1). Chìa khóa sẽ được sử dụng trong ứng dụng web trong đó nó có thể được tham chiếu trong định dạng 'java: comp/env/key'. Từ những gì tôi đã hiểu trong hướng dẫn này, tôi cần phải thiết lập web.xml của web.xml và ibm-web-bnd.xml chứ không phải tệp web.xml của WAR và ibm-web-bnd.xml. Hay là hướng dẫn đề cập đến XML của tệp WAR của tôi? Nếu có, thì tôi có thể đặt giá trị của các URL trên WebSphere ở đâu? – Arci

+0

Đã chỉnh sửa câu trả lời. – Isaac

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