מה זה טומקט? מיכל ה- servlet המקורי של Java

אפאצ'י Tomcat הוא מיכל קוד פתוח של Java בעל קוד פתוח, המיישם כמה מפרט מרכזי של ארגוני Java, כלומר Java Servlet, JavaServer Pages (JSP) ו- WebSockets API.

פרויקט קרן Apache Software Foundation, Tomcat שוחרר לראשונה בשנת 1998, ארבע שנים בלבד אחרי Java עצמה. Tomcat התחיל כמימוש הפניה עבור ה- Java Servlet API הראשון ומפרט ה- JSP. אמנם זה כבר לא יישום הייחוס של אחת הטכנולוגיות הללו, אך Tomcat נותרה שרת Java הנפוץ ביותר, ומתגאה במנוע ליבה נבדק ומוכח עם יכולת הרחבה טובה.

בהקדמה קצרה זו, תוכלו ללמוד מדוע חנויות תוכנה רבות בוחרות ב- Tomcat להפעלת אפליקציות Java. תקבל סקירה של Tomcat ואופן השימוש בו, וכן הוראות התקנה עבור הגרסה העדכנית ביותר נכון לכתיבת שורות אלה.

Tomcat ו- Java Servlet API

Tomcat 9 תומך במפרט Servlet 4.0 ודורש JDK 8 ומעלה. Tomcat 8.5 תומך בכמה תכונות חדשות יותר כמו HTTP / 2, אך נשאר מיכל Servlet 3.

איזה סוג שרת הוא Tomcat?

המערכת האקולוגית של Java תומכת בכמה סוגים של שרת יישומים, אז בואו נבדל אותם ונראה היכן משתלב Tomcat:

  • מיכל servlet הוא יישום מפרט Servlet Java, המשמש בעיקר עבור אירוח servlets Java.
  • שרת אינטרנט הוא שרת שנועד לשרת קבצים מהמערכת המקומית, כמו אפצ'י.
  • שרתים ארגוניים יישום Java הוא יישום במלוא מובן המילה של EE Java (כיום ג'קרטה EE) מפרט.

בלב, Tomcat הוא סרוולט ומיכל JSP. סרוולט של Java מכיל קוד והגיון עסקי ומגדיר כיצד יש לטפל בבקשות ותגובות בשרת Java. JSP היא טכנולוגיית עיבוד תצוגת תצוגה מצד השרת. כמפתח אתה כותב את ה- servlet או את עמוד ה- JSP ואז נותן לטומקט לטפל בניתוב.

Tomcat מכיל גם את מנוע הקויוט, שהוא שרת אינטרנט. הודות לקויוט, ניתן להרחיב את Tomcat כך שיכלול מגוון מפרט ויכולות ארגוניות של Java, כולל Java Persistence API (JPA). ל- Tomcat יש גם גרסה מורחבת, הנקראת TomEE, הכוללת יותר תכונות ארגוניות. אציג בקצרה את TomEE בהמשך מאמר זה.

נתחיל במבט על השימוש ב- Tomcat לאירוח Servlets ו- JSP.

הורד והתקן את Tomcat

בהיותם קדומה של עולם התוכנה, קיימות מספר גרסאות Tomcat. מידע על הבדלי גרסאות זמין בדף הבית של Tomcat. אתה יכול בדרך כלל פשוט לבחור את הגרסה היציבה האחרונה.

למטרותינו, הורד את הגרסה האחרונה של Tomcat, שהיא כרגע Tomcat 9. יש לך אפשרות להוריד את Tomcat כארכיון ( .zipאו tar.gz), או כשירות מותקן. הבחירה הטובה ביותר תלויה בך - אלא אם כן כמובן שאתה לא פועל ב- Windows, ובמקרה זה תלך לארכיון. נשתמש בארכיון עבור מאמר זה.

התקנת חלונות עבור Tomcat

אם אתה מפעיל את Windows וברצונך להשתמש במתקין, פשוט הורד את קובץ ה- exe והפעל אותו. Tomcat תתקין את עצמה כשירות עם ברירות מחדל סבירות. לאחר מכן היא תודיע לך היכן ההתקנה, ותוכל להמשיך כאילו פרקת שם את הארכיון.

שלב 1. התקנת שורת פקודה

עבור לשורת הפקודה והקלד gunzip apache-tomcat-9.0.19.tar.gzואחריו tar -xf apache-tomcat-9.0.19.tar. זה יוצר את הספריות הבאות:

  • / bin מכיל את התסריטים לביצוע Tomcat.
  • / webapps הוא המיקום שבו תפרוס את האפליקציות שלך.
  • / logs הוא המקום בו Tomcat מוציא את יומניו. שים לב כי יומני Tomcat נכנסים /logs/catalina.outכברירת מחדל. באפשרותך להשתמש בקובץ זה לצורך ניפוי באגים בשילוב עם קבצי יומן ספציפיים לאפליקציה.
  • / lib הוא המקום בו טומקט מחפש JARs. זה המקום בו תאחסנו חבילות נוספות שאינן כלולות ב- Tomcat, כגון JPA.
  • / conf הוא התצורה XML עבור Tomcat, שם אתה יכול לעשות דברים כמו הוספת משתמשים ותפקידים עבור Tomcat.

שלב 2. הפעל את Tomcat

אם התקנת את Tomcat כשירות, הוא כבר פועל. אחרת, המשך והפעל אותו על ידי כניסה ./catalina.sh startבשורת הפקודה. (הקלד ./catalina.shללא ארגומנטים כדי לראות את כל הפקודות הזמינות). כעת, אתה אמור להיות מסוגל לדפדף למסך הפתיחה של Tomcat בדפדפן.

מתיו טייסון

פריסת יישומים ב- Tomcat

webappsהספרייה של Tomcat היא המקום בו אתה פורס יישום. אתה יכול להפיל שם .warקובץ וטומקט יפעיל אותו. קובץ WAR הוא האריזה הסטנדרטית עבור משאב יישומי אינטרנט: קובץ JAR עם כמה קבצים נוספים המספרים למכולה (במקרה זה Tomcat) כיצד להריץ אותו.

מלבד האריזה הסטנדרטית, ישנן שלוש דרכים נוספות לפרוס תוכן ב- Tomcat.

התפוצץ מפוצץ

אפליקציית אינטרנט "מפוצצת" היא יישום שאינו דחוס לקובץ WAR, כלומר עדיין מכיל את כל האלמנטים המפורטים בספריות ובקבצים. ארכיון Tomcat שפרקת נשלח עם מספר דוגמאות שנפרסו באופן זה, שתמצא /webapps/examplesבספריה. היתרון של פריסה מפוצצת הוא שאתה יכול להסתכל על הקבצים שם בלי לדאוג לדחיסה.

אם תנווט אל //localhost:8080/examples/, תמצא רשימת קישורים. דף זה מעובד על ידי Tomcat /webapps/examples/index.htmlמהקובץ. Tomcat משרת קובץ HTML ממערכת הקבצים, שהוא מופע של מנוע הקויוט של Tomcat הפועל כשרת אינטרנט.

אתה רשאי לחקור את הדוגמאות המוצגות - הן נותנות לך סקירה טובה של יכולותיו של Tomcat לשרת servlets, JSPs ו- WebSockets.

Tomcat כולל גם אפליקציית ניהול כברירת מחדל, שנמצאת מתחת /managerלנתיב. בין היתר, אפליקציה זו מאפשרת להפעיל, לעצור ולהתקין מחדש אפליקציות מקונסולת אינטרנט.

הגשת תוכן סטטי

אפשר להגיש קבצים ממערכת הקבצים, או להעביר מטומקט לשרת HTTP אחר כמו Apache. התקנה נפוצה נוספת היא להציב שרת קבצים כמו Apache או Nginx מול Tomcat ואז להעביר את בקשות ה- API שלך ל- Tomcat. במקרים אלה, ספריית mod_JK משמשת להגדרת תצורת Tomcat ו- Apache (או אפילו שרת אינטרנט אחר כמו IIS) לתקשורת.

לשיפור הביצועים, בעיקר באספקת תוכן סטטי, Tomcat מציע גם עטיפות מקוריות עבור Windows ו- Linux. זה ידוע בשם Tomcat אפריל ומידע נוסף זמין כאן. אלה אינם נחוצים למקרי שימוש אופייניים, אך כדאי לדעת עליהם.

טומקט מוטבע

במשך תקופה ארוכה, ג'טי היה השרת היחיד שמסוגל לפעול כשרת מוטבע. זה השתנה, ועכשיו Tomcat יכול גם להפעיל מוטבע. הרעיון בשימוש בשרת מוטבע הוא שבמקום השרת המכיל את קבצי היישומים, כפי שראית עד כה, יש לך יישום עם מחלקה ראשית (כלומר, אפליקציית Java עצמאית), שמפעילה את יכולות השרת מ בתוך בסיס הקוד שלה. בסך הכל, זה מציע מודל פיתוח פשוט ונייד יותר, והפך במהירות לנורמה. Spring Boot, למשל, משתמש במופע Tomcat מוטבע הפועל במצב dev.

הפעלת שרת משובץ יכולה לפשט פשטות מבחינת התפעול, מכיוון שכעת אתה מתמודד עם רכיב בודד (האפליקציה) במקום להתמודד הן עם האפליקציה והן עם פריסת שרתים. מצד שני, ההתקנה שבה Tomcat פועל כמארח עצמאי עדיין נפוצה מאוד.

לי

ניתן להשתמש יותר מיכולות Java EE (או ג'קרטה EE) הרגילות עם Tomcat על ידי הוספת ספריות אלה ל- Tomcat עצמה, או לתלות היישום שלך. אפשרות נוספת היא שרת TomEE. TomEE הוא אותו מנוע Tomcat עם תמיכה נוספת בארגוני Java, כולל ממשקי ה- API הפופולריים של JPA ו- CDI (Contexts and Dependency Injection). המפרט של TomEE מבוסס על פרופיל האינטרנט Java EE, כך שהוא נותן לך יותר מ- Tomcat אך אינו שרת אפליקציות Java EE מלא כמו WildFly או Glassfish.

זמינות גבוהה ואשכולות

Tomcat תומך בזמינות גבוהה באשכולות. זמינות גבוהה היא למעשה היכולת להיכשל למופע אחר של השרת וליצור מחדש את ההפעלה כאילו שום דבר לא השתבש. קיבוץ אשכולות הוא היכולת ליצור מספר גרסאות של אותו שרת בכדי לטפל בתעבורה גדולה.

סיכום

Tomcat נותרה מפותחת, עומדת בקצב השינויים ומספקת פלטפורמה איתנה ואמינה לפריסת אפליקציות אינטרנט. הן הפופולריות המתמשכת שלה והן הבחירה שלה כפלטפורמת Java המוגדרת כברירת מחדל עבור מערכות PaaS רבות מעידות על הצלחתה המתמשכת.

סיפור זה, "מה זה Tomcat? מיכל סרוולט ג'אווה המקורי" פורסם במקור על ידי JavaWorld.