2013-07-06 43 views
5

Tôi đang tạo một ứng dụng web java bằng cách sử dụng máy chủ nhật thực và máy chủ tomcat. Tôi muốn biết điều gì sẽ xảy ra khi tôi chạy trang web của mình trên Tomcat? Các bước Eclipse thực hiện trong nền là gì để chạy ứng dụng trên tomcat.Điều gì xảy ra khi tôi chạy một ứng dụng trên tomcat trong Eclipse

này sẽ giúp tôi hiểu khi nào thì tắt máy chủ (trong khi gỡ lỗi)/khi để làm sạch máy chủ vv

Tôi cần phải biết những gì diễn ra vào máy chủ để tôi có thể trở nên tốt hơn ở gỡ lỗi.

Ngay bây giờ tất cả những gì tôi làm là khởi động lại máy chủ mọi lúc xảy ra sự cố. Tôi đã lãng phí đủ thời gian để làm điều đó. Tôi đoán tôi cần phải đầu tư thêm một chút thời gian để hiểu những gì xảy ra đằng sau hậu trường.

+0

bạn có thể nói với Eclipse, trong cấu hình máy chủ, cho dù bạn muốn nó để sử dụng ví dụ nội bộ riêng của mình Tomcat hay nhất mà bạn đã cài đặt. Một cuộc thảo luận đầy đủ về cấu hình nằm ngoài phạm vi của SO, nhưng bạn nên xem tài liệu Eclipse, hộp thoại cấu hình "Máy chủ" và [Câu hỏi thường gặp về Tomcat của Eclipse] (http://wiki.eclipse.org/WTP_Tomcat_FAQ#How_does_WTP_support_separate_Tomcat_server_instances .3F) –

+0

Tôi chỉ cần một số bước rộng về cách eclipse quản lý để chạy mã trên máy chủ tomcat. – user590849

+0

Bạn đã xem Câu hỏi thường gặp tôi đã liên kết trong nhận xét trước của tôi chưa? –

Trả lời

16

giả định Môi trường

Tôi sẽ giả định:

  • target/classes là thư mục đích cho các lớp học biên soạn
  • src/main/webapp là thư mục nội dung ứng dụng web
  • Project > Build Automatically tùy chọn sẽ được kiểm tra

Deployme nt directory

Eclipse đang sử dụng triển khai WAR đã phát triển - nghĩa là ứng dụng được triển khai được triển khai dưới dạng một thư mục chứ không phải là một tệp lưu trữ tệp. Các tệp ứng dụng được đặt và tải từ ${workspace}/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/.

Xuất bản

Publishing là một quá trình trung ương có trách nhiệm cho lắp ráp và triển khai các ứng dụng web. Khi nói về Tomcat địa phương, điều này có nghĩa là sao chép "nội dung web, các lớp được biên dịch, thư viện, ..." vào thư mục triển khai (một trong số .metadata).

Eclipse có thể thực hiện xuất bản từng phần - tức là khi một tài nguyên duy nhất thay đổi (ví dụ: một số JSP), Eclipse sẽ chỉ xuất bản tệp đơn đó.

Theo quy trình xuất bản mặc định được thực hiện tự động khi một số thay đổi tài nguyên. Điều này có thể được sửa đổi trong cài đặt máy chủ (nhấp đúp vào tên máy chủ ở chế độ xem Máy chủ).

Publishing setting

Thay đổi tĩnh nguồn

Nếu bạn thay đổi cho phép nói src/main/webapp/resources/myApp/css/main.css:

  • khi xuất bản tập tin được sao chép vào thư mục triển khai
  • tài nguyên là ngay lập tức có sẵn cho máy chủ khách hàng

Thay đổi JSP tập tin

Nếu bạn thay đổi JSP file:

  • khi xuất bản tập tin được sao chép vào thư mục triển khai
  • Tomcat thông báo rằng tập tin JSP đã thay đổi và recompiles nó
  • đã thay đổi JSP sẵn sàng hiển thị nội dung

Thay đổi Java tập tin

Nếu bạn thay đổi một tập tin nguồn java:

  • tập tin được biên dịch vào target/classes
  • khi xuất bản tập tin được sao chép vào thư mục triển khai
  • Tomcat notices that a class file was changed và tải lại các ngữ cảnh (tức là ứng dụng web được khởi động lại)

Bạn có thể bật tính năng tự động tải lại trong cài đặt máy chủ trên tab Mô-đun. Nếu không tự động tải lại, bạn vẫn có thể sử dụng tính năng hot swap, có thể thay thế mã trong JVM đang chạy. Điều này chỉ có thể khi chữ ký của phương thức không thay đổi.

Auto reloading feature

Nếu bạn muốn giải pháp tiên tiến hơn (ví dụ: không giới hạn thay đổi chỉ là một cơ thể phương pháp) khi nói đến tải lại thay đổi java, bạn nên kiểm tra các dự án như JRebel (không miễn phí).

Vệ sinh

Ứng dụng đã triển khai có thể bị hỏng.Nó là đáng chú ý, đó là khi bạn muốn để làm sạch nguồn hoàn toàn biên soạn và xuất bản, bạn nên:

  • sạch các lớp biên dịch (Project > Clean... - xóa target/classes)
  • sạch các tập tin được triển khai (Server > Clean... - xóa thư mục triển khai)
  • sạch Tomcat thư mục làm việc (Server > Clean Tomcat Work Directory... - xóa biên soạn JSP)
+0

câu trả lời hay nhất – VedX

+0

hoàn hảo bạn xứng đáng +1. một truy vấn làm sạch khởi động lại máy chủ nội bộ? – piechuckerr

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