JavaRush /בלוג Java /Random-HE /יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise. צע...
Стас Пасинков
רָמָה
Киев

יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise. צעד אחר צעד, עם תמונות

פורסם בקבוצה
רמת הידע הנדרשת להבנת המאמר: כבר פחות או יותר הבנתם את Java Core והייתם רוצים להסתכל על טכנולוגיות JavaEE ותכנות אינטרנט. זה הגיוני ביותר אם אתה לומד כעת את החיפוש של Java Collections, המכסה נושאים קרובים למאמר. יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise.  צעד אחר צעד, עם תמונות - 1אני משתמש כרגע ב- IntelliJ IDEA Enterprise Edition (זוהי גרסה מתקדמת בתשלום של ה-IDE, היא משמשת בדרך כלל בפיתוח מקצועי - הערת עורך ). הרבה יותר קל לעבוד עם פרויקטים באינטרנט מאשר מהדורת הקהילה החינמית. אז ב-Enterprise Edition, פשוטו כמשמעו בלחיצת עכבר אחת, הפרויקט מורכב, נשפך לתוך מיכל servlet, השרת מתחיל, ואפילו דף עם הפרויקט הפועל נפתח בדפדפן. בגרסה החינמית של הרעיון, הרבה מזה היה צריך להיעשות באופן עצמאי, כביכול, "ביד". אני משתמש ב- Apache Maven כדי לבנות את הפרויקט ולנהל את מחזור החיים שלו. בזה השתמשתי רק בחלק קטן מהיכולות שלו (ניהול חבילה/תלות). בחרתי ב-Apache Tomcat גרסה 9.0.0.M4 בתור שרת ה-servlet/Application. אני יודע שיש כבר גרסאות חדשות יותר, אבל זו התקנתי.

בואו נתחיל

ראשית, בואו נפתח את IntelliJ IDEA וניצור פרויקט Maven ריק.
יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise.  צעד אחר צעד, עם תמונות - 2
כאן בצד שמאל אנו בוחרים ב-Maven, בודקים שה-JDK עבור הפרויקט מצוין בחלק העליון. אם הוא לא קיים, בחר את זה שאתה צריך מהרשימה, או לחץ על חדש... ובחר ישירות מהמחשב שלך. באמצע החלון יש לי אנימציה של טעינת רשימת הארכיטיפים. אנחנו לא צריכים אותם, אז בלי לחכות להורדה, אל תהסס ללחוץ על הבא בתחתית החלון.
יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise.  צעד אחר צעד, עם תמונות - 3
בחלון זה עליך לציין GroupId ו-ArtifactId . GroupId מתייחס למזהה הייחודי של החברה שמייצרת את הפרויקט. נהוג להשתמש בשם הדומיין של החברה, אך בסדר הפוך. לא במובן של מראה, אבל אם, למשל, שם הדומיין של חברה הוא maven.apache.org , אזי ה-GroupId שלה יהיה org.apache.maven . כלומר, ראשית אנו כותבים את התחום ברמה הראשונה, מפרידים אותו בנקודה, כותבים את שם התחום ברמה השנייה וכן הלאה. זו הגישה המקובלת. במקרה שאתם "חותכים" פרויקט בעצמכם, ולא במסגרת חברה, כתבו כאן את שם הדומיין האישי שלכם (גם בסדר הפוך!). אם יש לך את זה, כמובן :). אם לא, אל תתעצבן. למעשה, אתה יכול לכתוב הכל כאן .
עבור חברה עם שם הדומיין vasya.pupkin.org, ה-GroupId יהיה org.pupkin.vasya. גישה זו לשמות נחוצה על מנת להפריד בין פרויקטים בעלי אותו שם, אך פורסמו על ידי חברות שונות.
בדוגמה זו, אשתמש בשם התחום הפיקטיבי fatfaggy.info.javarush.ru . בהתאם, אני מזין ru.javarush.info.fatfaggy בשדה GroupId . ArtefactId הוא פשוט השם של הפרויקט שלנו. אתה יכול להשתמש באותיות ובכמה סמלים (מקפים, למשל) כדי להפריד בין מילים. ה"חפץ" שלנו ייקרא בדיוק כפי שאנו כותבים כאן. בדוגמה זו, אני כותב שלי-סופר-פרויקט . אנחנו לא נוגעים בשדה הגרסה לעת עתה, אנחנו משאירים אותו כפי שהוא.
יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise.  צעד אחר צעד, עם תמונות - 4
ובכן, חלון IDEA הסטנדרטי בעת יצירת פרויקט חדש. בואו נקרא לזה פרויקט-העל שלי על פי המסורת .
יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise.  צעד אחר צעד, עם תמונות - 5
הפרויקט נוצר!
קובץ pom.xml נפתח מיד לפנינו. זהו קובץ עם הגדרות Maven. אם אנחנו רוצים "לספר" למיבן מה ואיך לעשות או מאיפה להשיג משהו, אנחנו מתארים את כל זה בקובץ ה-pom.xml הזה. הוא ממוקם בשורש הפרויקט.
אנו רואים שהוא מכיל כעת בדיוק את הנתונים שהזנו בעת יצירת פרויקט Maven: groupId , artifactId ו- version (לא נגענו באחרון).

מבנה הפרויקט שלנו

לפרויקט Maven הזה יש מבנה מסוים.
יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise.  צעד אחר צעד, עם תמונות - 6
כפי שאנו יכולים לראות, בשורש טמון:
  • ספריית .idea , המכילה את הגדרות הרעיון עבור הפרויקט הנוכחי;
  • ספריית src שבה אנו יוצרים את המקורות שלנו;
  • my-super-project.iml file , קובץ פרוייקט שנוצר על ידי IDEA;
  • קובץ pom.xml , אותו קובץ פרויקט של Maven שדיברתי עליו ממש למעלה, שעכשיו יש לנו פתוח. אם אני מזכיר את pom.xml או "pom" איפשהו, אתכוון לקובץ הספציפי הזה.
תיקיית src בתורה מכילה שתי תיקיות משנה:
  • main - עבור הקוד שלנו;
  • test - לבדיקות עבור הקוד שלנו.
גם ל-main וגם ל-test יש תיקיית java . קחו בחשבון שאלו אותה תיקיה, רק ה- main הוא עבור קוד המקור, וה-test הוא עבור קוד הבדיקה, בהתאמה. אנחנו בכלל לא צריכים את תיקיית המשאבים כרגע, לא נשתמש בה. אבל תן לו לשכב.

הופכים לפרויקט אינטרנטי

הגיע הזמן שנמיר את פרויקט Maven שלנו לפרויקט אינטרנט. לשם כך, לחץ לחיצה ימנית על שם הפרויקט בעץ זה ובחר הוסף תמיכה במסגרת...
יצירת פרויקט אינטרנט פשוט ב- IntelliJ Idea Enterprise.  צעד אחר צעד, עם תמונות - 7
ייפתח חלון שבו נוכל להוסיף תמיכה לכל מיני מסגרות שונות לפרויקט שלנו. אבל אנחנו צריכים רק אחד: יישום אינטרנט . אנחנו בוחרים בו.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 8
אנחנו בודקים שיש סימון ליד Web Application , ובחלק הראשי של החלון מצוין שאנחנו רוצים שיצור עבורנו קובץ web.xml מיד (אני ממליץ לסמן את התיבה אם הוא לא שם) . לאחר מכן, נראה שהמבנה של הפרויקט שלנו הושלם עם תיקיית האינטרנט .
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 9
זהו השורש של פרויקט האינטרנט שלנו ב- / . כלומר, אם נזין את כתובת ה-localhost בדפדפן (כשנשיק אותו, כמובן), אז היא תיגש בדיוק כאן, לשורש פרויקט האינטרנט. אם נזין localhost/addUser , אז תיקיית האינטרנט תחפש משאב בשם addUser .
העיקר להבין שתיקיית האינטרנט היא השורש של הפרויקט שלנו כשאנחנו מעלים אותה ל- Tomcat. עכשיו יש לנו מבנה תיקיות מסוים, אבל בפרויקט המוגמר שנעלה הוא יהיה מעט שונה, ותיקיית האינטרנט תהיה השורש שם.
ב- web ישנה תיקייה נדרשת בשם WEB-INF , שבה נמצא קובץ web.xml , אותה ביקשנו ליצור בשלב הקודם. בואו נפתח את זה.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 10
כפי שאתה יכול לראות, אין בו עדיין שום דבר מעניין, רק ה"כובע". אגב, אם לא היינו מבקשים ליצור אותו, אולי היינו צריכים ליצור אותו באופן ידני, כלומר להקליד את כל ה"כותרת" הזו ביד, או, במקרים קיצוניים, לחפש גרסה מוכנה באינטרנט . למה מיועד web.xml ? למיפוי. כאן נגיד ל-Tomcat איזו כתובת URL מבקשת לשלוח לאילו servlets. אבל זה הכל מאוחר יותר, לעת עתה נשאיר אותו ריק. קיים גם קובץ בשם index.jsp בתיקיית האינטרנט . בואו נפתח את זה.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 11
זה הקובץ שיבוצע כברירת מחדל, כביכול. כלומר, כשנשיק את הפרויקט, זה בדיוק מה שנראה. במהותו, jsp הוא קובץ HTML רגיל, עם ההבדל שאתה יכול להפעיל בו קוד java.

קצת על תוכן סטטי ודינמי

תוכן סטטי הוא תוכן שאינו משתנה לאורך זמן. כל מה שכתבנו בקובץ ה-html יוצג ללא שינויים. אם כתבנו שלום עולם, אז הכתובת הזו תוצג ברגע שנפתח את הדף, ובעוד 5 דקות, ומחר, ובעוד שבוע, ובעוד שנה. היא לא תשתנה. אבל מה אם נרצה להציג את התאריך הנוכחי בעמוד? אם פשוט נכתוב "27 באוקטובר 2017", אז מחר נראה אותו תאריך, ובעוד שבוע, ובעוד שנה. אבל הייתי רוצה שהתאריך הזה עדיין יהיה רלוונטי. כאן באה לעזרתנו היכולת להפעיל קוד כלשהו ישירות בתוך הדף. אנחנו יכולים לקבל אובייקט תאריך, להמיר אותו לטופס שאנחנו צריכים ולהציג אותו בדף. ואז בכל יום, בכל פעם שנפתח את העמוד, התאריך תמיד יהיה רלוונטי. אם אנחנו צריכים רק תוכן סטטי, אז מספיק לנו שרת אינטרנט רגיל וקבצי HTML. אנחנו לא צריכים שום Java, Maven או Tomcat. אבל אם אנחנו רוצים להשתמש בתוכן דינמי, זה המקום שבו כל זה יהיה שימושי. אבל לעת עתה נחזור ל- index.jsp שלנו . בוא נסמן משהו משלנו במקום הכותרת הרגילה, למשל, "אפליקציית הרשת העל שלי!", ובגוף נכתוב, למשל, "אני בחיים!" אנחנו כמעט מוכנים להשיק את הפרויקט שלנו! אבל, למרבה הצער, המשולש הירוק הרגיל להפעלת התוכנית אינו פעיל.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 12
נלחץ על הכפתור משמאל לו (מסומן על המסך בחץ אדום) ונבחר ערוך תצורות... ייפתח חלון שבו נתבקש ללחוץ על סימן הפלוס הירוק כדי להוסיף איזושהי תצורה. לחץ עליו, הוא ממוקם בפינה השמאלית העליונה של החלון.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 13
בחר את הפריט Tomcat Server ואת הפריט המקומי. ייפתח חלון עם פרמטרים רבים ושונים, אבל אנחנו מרוצים כמעט מכל דבר ומברירת המחדל.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 14
אנחנו יכולים איכשהו לתת שם לתצורה שלנו במקום הסטנדרט ללא שם (בחלק העליון). כמו כן, יש צורך לבדוק שהרעיון מצא בהצלחה את Tomcat במערכת שלנו (כבר הורדתם והתקנתם אותו לפני , נכון?). אם אינך מוצא אותו (וזה לא סביר), לחץ על החץ למטה ובחר היכן הוא מותקן, או גרסה אחרת אם יש לך כמה מהם. יש לי אחד והוא כבר מותקן, אז הכל נראה כמו בצילום המסך. ובחלק התחתון של החלון אנחנו רואים שיש אזהרה שאין חפץ אחד שמיועד לפריסה לשרת. ומימין לכתובת זו יש כפתור המציע לתקן את הפגם הזה. אנחנו לוחצים עליו ורואים שהרעיון עצמו מצא הכל, יצר הכל בעצמו, מה שהיה חסר, וביצע את כל ההגדרות בעצמו.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 15
אנו רואים שהועברנו מהכרטיסייה Server ללשונית Deployment , בסעיף Deploy at the server startup יש לנו כבר את ה-Artifact שצריך לפרוס, ולמטה מצוין שה-Artifact הזה ייבנה לפני הפריסה. הגש בקשה, אוקיי. ואנחנו רואים שקודם כל, בתחתית החלון הופיע קטע עם שרת Tomcat המקומי שלנו, שלתוכו יוצב החפץ שלנו. אתה יכול לכווץ חלק זה על ידי לחיצה על הכפתור המתאים בצד ימין של החלון.
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 16
אנחנו גם רואים שהמשולש הירוק לשיגור כבר פעיל. למי שרוצה לבדוק הכל, ניתן ללחוץ על הכפתור עם הגדרות הפרויקט (מימין לכפתורי ההשקה, מסומנים בחץ אדום), לעבור לקטע Artifact ולוודא שהארטיפקט אכן נוצר. זה לא היה שם עד שלחצנו על כפתור התיקון הזה , אבל עכשיו הכל בסדר. והתצורה הזו מתאימה לנו מאוד. בקצרה, ההבדל בין my-super-project:war ל- my-super-project:war התפוצץ הוא ש- my-super-project:war יצור רק קובץ מלחמה אחד (שהוא רק ארכיון), והאפשרות עם התפוצץ היא פשוט מלחמה "לא ארוזה" . והאופציה הזו אישית נוחה לי יותר, מכיוון שהיא מאפשרת לי לפרוס במהירות שינויים קטנים בשרת. למעשה, החפץ הוא הפרויקט שלנו, שרק כבר הידור, ובו שונה מבנה התיקיות כך שניתן להעלות אותו ישירות ל- Tomcat. זה ייראה בערך כך:
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 17
ובכן, עכשיו הכל מוכן להשיק את הפרויקט שלנו. אנו לוחצים על כפתור ההתחלה הירוק והנחשק ונהנים מהתוצאה! :)
Creation простейшего веб-проекта в IntelliJ Idea Enterprise. Пошагово, с картинками - 18
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION