- Tomcat Javarush کان واقف آهي
- Tomcat - اهو ڇا آهي؟
- Tomcat اجزاء
- Tomcat انسٽال ڪرڻ
- ويب ايپليڪيشن ڪيئن ٺاهي
- هلندڙ سرور ۾ ايپليڪيشن کي ڪيئن شامل ڪجي
- ترقي لاء Tomcat جا فائدا
- اضافي لنڪس
Tomcat Javarush کان واقف آهي
Tomcat جاوا ريش ڪورس ۾ جاوا مجموعن جي ڳولا جي سطح 9 تي اڀياس ڪئي وئي آهي. 2 ليڪچرن ۾، بلابو توهان کي ٻڌائيندو ته ڪيئن ڊائون لوڊ ۽ ترتيب ڏيڻ Tomcat ، انهي سان گڏ توهان جي پهرين ويب ايپليڪيشن ٺاهي .Tomcat - اهو ڇا آهي؟
Tomcat هڪ اوپن سورس سروليٽ ڪنٽينر آهي جيڪو پڻ ويب سرور طور ڪم ڪري ٿو. پهرين نظر ۾، Tomcat لڳي ٿو بلڪه ڳري موضوع وانگر، پر اهو معاملو ناهي. گهڻيون جاوا ايپليڪيشنون ڪمانڊ لائن استعمال ڪندي شروع ڪيون ويون آهن ۽ ڪجهه ڪارناما انجام ڏيو. اهڙيون ايپليڪيشنون هڪ اڳواٽ بيان ڪيل فنڪشن کي لاڳو ڪن ٿيون، جنهن کان پوء اهي وڌيڪ نه ڪيا ويا آهن. اهڙن پروگرامن ۾ عام طور تي هڪ طريقو هوندو آهيmain
جنهن ذريعي انهن کي شروع ڪري سگهجي ٿو. ويب ايپليڪيشن ڪلائنٽ سان لهه وچڙ ڪرڻ لاءِ ٺهيل آهي. جيڪڏهن ڪلائنٽ کان ڪا درخواست آهي، اهو عمل ڪيو ويندو آهي ۽ جواب صارف ڏانهن موڪليو ويندو آهي. جيڪڏهن نه، ايپليڪيشن بيڪار آهي. معياري ايپليڪيشن ۾ اهڙي منطق کي ڪيئن لاڳو ڪجي، ڏنو ويو آهي ته توهان کي سيشن جي حمايت ڪرڻ جي ضرورت آهي، HTTP درخواستن کي قبول ڪرڻ، وغيره؟ سائيڪل while-true
؟ نه، اسان کي هتي هڪ قابل اعتماد حل جي ضرورت آهي. اھو اھو آھي جيڪو Tomcat لاء آھي. حقيقت ۾، اها هڪ جاوا ايپليڪيشن آهي جيڪا ڪلائنٽ رابطي لاء پورٽ کولڻ، سيشن قائم ڪرڻ، درخواستن جو تعداد، هيڊر جي ڊيگهه ۽ ڪيترن ئي وڌيڪ عملن جو خيال رکندو آهي.
Tomcat اجزاء
Tomcat ۾ اجزاء آھن جيڪي مخصوص ڪم ڪن ٿا جيڪي ڄاڻڻ جي لائق آھن. اچو ته هڪ ويجهي نظر وٺو.ڪيٽيلينا
هن جزو جي مهرباني، ڊولپرز کي انهن جي پروگرامن کي هڪ ڪنٽينر ۾ ترتيب ڏيڻ جو موقعو آهي. Catalina لاڳو ڪري ٿي Servlet API جي وضاحت، جاوا ويب پروگرامنگ ۾ بنيادي ويب ٽيڪنالاجي. حقيقت ۾، Catalina Tomcat اندر هڪ سرورٽ ڪنٽينر آهي (اسين هن تصور کي وڌيڪ تفصيل سان هيٺ ڏسندا).جسپر
هن جزو جي مهرباني، پروگرامر استعمال ڪري ٿو JSP ٽيڪنالاجي. اهي HTML فائلن وانگر آهن، صرف انهن ۾ جاوا ڪوڊ شامل ڪيو ويو آهي جيڪو عمل ڪري سگهجي ٿو جڏهن صفحو صارف ڏانهن موڪليو ويو آهي. هي توهان کي متحرڪ طور تي ڪنهن به ڊيٽا کي صفحي ۾ شامل ڪرڻ جي اجازت ڏئي ٿو. Jasper جاوا ڪوڊ کي HTML ۾ تبديل ڪري ٿو، ۽ پڻ تبديلين کي ٽريڪ ڪري ٿو ۽ خودڪار طور تي انهن کي تازه ڪاري ڪري ٿو.ڪويوٽ
اهو هڪ اهم جزو آهي جيڪو ٻڌندو آهي HTTP درخواستن لاءِ ڪلائنٽ هڪ مخصوص بندرگاهه تي، مهيا ڪندو آهي ڊيٽا کي پروسيسنگ لاءِ ايپليڪيشن ۾، ۽ پڻ موٽائي ٿو صارفين جا جواب. اهو آهي، ڪويوٽ هڪ HTTP سرور جي ڪارڪردگي کي لاڳو ڪري ٿو. انهن حصن کي هيٺ ڏنل آراگرام ذريعي ساختي طور تي بيان ڪري سگهجي ٿو: هتي اجزاء جي رابطي جو هڪ اندازي مطابق ڊراگرام ڏيکاريل آهي "آڱرين تي". حقيقت ۾، Tomcat ڪم ڪرڻ جو طريقو تمام گهڻو پيچيده آهي، پر اهو بنيادي سمجهڻ لاء ڪافي آهي.Tomcat انسٽال ڪرڻ
جاوا ۾ Tomcat استعمال ڪرڻ لاء، ان کي سسٽم تي نصب ٿيڻ جي ضرورت آهي. توهان هن مضمون ۾ Tomcat کي ڪيئن نصب ڪرڻ جي باري ۾ پڙهي سگهو ٿا، جيڪو پڻ شامل ڪري ٿو ٻين ايپليڪيشن سرورز. تنهن ڪري، IDEA ۾ هڪ ڪم ڪندڙ Tomcat ٺاهي، توهان ڪوشش ڪري سگهو ٿا پنهنجو پهريون سروليٽ تيار ڪرڻ.ويب ايپليڪيشن ڪيئن ٺاهي
ويب ايپليڪيشن ٺاهڻ لاءِ، توهان کي هڪ مخصوص فولڊر جي جوڙجڪ تي عمل ڪرڻ گهرجي. IntelliJ IDEA وٽ پروجيڪٽ ٺاھڻ واري مينيو ۾ ويب ايپليڪيشن جنريشن جو ڪم آھي. هن طريقي سان پروجيڪٽ ٺاهي، توهان هڪ سادي جوڙجڪ ڏسي سگهو ٿا: src ۾، هميشه وانگر، ذريعن آهن، ۽ ويب فولڊر ۾ web.xml ۽ index.jsp ٺاهيل آهن. web.xml Tomcat لاءِ ھڪ ھدايت آھي جتي درخواست ھٿ ڪندڙ ۽ ٻي معلومات ڳولڻ لاءِ. index.jsp ويب ايپليڪيشن جو مکيه صفحو آهي، جتي صارف کي پهرين وڃڻ گهرجي (هي ڊفالٽ ترتيب آهي). پهرين رن جي طور تي، توهان صرف index.jsp فائل ۾ ترميم ڪري سگهو ٿا:<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<h1>Hello world!</h1>
</body>
</html>
جيڪڏهن Tomcat سڌو سنئون IDEA ۾ نصب ٿيل آهي، توهان اپليڪيشن سرور شروع ڪري سگهو ٿا: ڪلائنٽ برائوزر ۾ index.jsp فائل جو مواد وصول ڪري ٿو جڏهن اهو '/' ڏانهن نيويگيٽ ڪري ٿو، يعني مکيه صفحي ڏانهن. ھاڻي اچو ته ھڪڙي لنڪ شامل ڪريو صفحي تي جتي موجوده سرور جو وقت واقع ھوندو. توهان جي پهرين servlet ٺاهڻ لاء، توهان کي استعمال ڪرڻ جي ضرورت آهي servlet-api.jar لائبريري جيڪا Tomcat سان اچي ٿي (ليب فولڊر ۾ ڳولي سگھجي ٿو). اچو ته ھڪڙو servlet ٺاھيو جيڪو صفحي تي موجوده سرور وقت ڏيکاريندو. هن کي ڪرڻ لاء توهان کي هڪ ڪلاس ٺاهڻ جي ضرورت آهي TimeWorker
. اچو ته ان کي src/ru/javarush/tomcat فولڊر ۾ رکون:
package ru.javarush.tomcat;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
public class TimeWorker extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Date date = new Date();
req.setAttribute("date", date.toString());
req.getRequestDispatcher("time.jsp").forward(req, resp);
}
}
TimeWorker
ڪلاس مان ورثي ۾ ملي ٿو HttpServlet
۽ اوور رائيڊ ڪري ٿو doGet
. هن طريقي ۾ اسان کي ٻه پيرا ميٽر ملي ٿي - request
۽ response
. مثال طور، request
نالي سان هڪ وصف data
۽ موجوده تاريخ جي اسٽرنگ جي نمائندگي تي مشتمل آهي ذخيرو ٿيل آهي. ان کان پوء ان کي سڏيو ويندو آهي ۽ parameters ۽ requestDispatcher
ان کي گذري ويا آهن . سنڀاليندڙ ٺاهيو ويو آهي. هاڻي توهان کي خاص طور تي کيس درخواستون موڪلڻ جي ضرورت آهي. ڪنهن به منتقلي کي time.jsp صفحي ڏانهن وڃڻ ڏيو . web.xml کوليو، ٽيگ جي وچ ۾ ھيٺ ڏنل ترتيب داخل ڪريو: request
response
/time
<web-app>
<servlet>
<servlet-name>timeWorker</servlet-name>
<servlet-class>ru.javarush.tomcat.TimeWorker</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>timeWorker</servlet-name>
<url-pattern>/time</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
پهريون ٽيگ - servlet
- servlet جو نالو بيان ڪري ٿو ۽ servlet طبقي جو رستو بيان ڪري ٿو جيڪو درخواستن تي عمل ڪندو. ٻيو ٽيگ - servlet-mapping
- اشارو ڪري ٿو ته نالي سان servlet timeWorker
سڏيو ويندو جڏهن هڪ درخواست لاءwelcome-file-list
- ان فائل کي اشارو ڪري ٿو جنهن کي سوئچ ڪرڻ وقت سڏيو ويندو
url /
. ھن کي ترتيب ڏيڻ گھرجي جيڪڏھن ڪا ضرورت آھي ڊفالٽ فائل کي تبديل ڪرڻ جي. هتي هڪ مثال طور شامل آهي. هاڻي، جڏهن توهان وڃو، ڪلاس ۾ طريقو
/time
سڏيو ويندو ۽ صفحي کي واپس ڏيو time.jsp... جيڪو موجود ناهي. اچو ته ان کي index.jsp جي اڳيان ٺاهيون:
doGet
TimeWorker
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello</title>
</head>
<body>
<h1>Current server time: <%=request.getAttribute("date")%></h1>
</body>
</html>
شروعات کلاسک آهي، پر ٽيگ
h1
۾ اعتراض جي اپيل آهي
request
، جيڪا فريم ڪئي وئي آهي
<%=
۽
%>
. اهي ٽيمپليٽ ٽيگ آهن. انهن ٽيگ ۾ شامل ڪيل ڪوڊ ڪلائنٽ ڏانهن موڪلڻ کان اڳ سڏيو ويندو آهي. خير، شيون ڪنهن به JSP فائل ۾ اهڙن ٽيگ ۾ موجود
request
آهن .
response
هن مثال ۾، موجوده سرور جو وقت، جيڪو servlet طرفان منتقل ڪيو ويندو آهي، اتي متبادل ڪيو ويندو
TimeWorker
. سهولت لاءِ، اسان index.jsp فائل جي لنڪ ٺاهيندا آهيون
/time
:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<h1>Hello world!</h1>
<a href="/time">Узнать текущее время serverа</a>
</body>
</html>
اچو ته مثال هلون:
لنڪ جي پيروي ڪريو:
عظيم، سڀ ڪجھ ڪم ڪري ٿو. مثال ۾، اسان هڪ منتقلي تي عمل ڪيو مکيه صفحي کان معاون صفحي ڏانهن، جنهن ۾ هڪ پيٽرولر گذري ويو ۽ صارف کي ڏيکاريو ويو. جيڪڏهن توهان کي servlets هلائڻ ۾ مسئلو آهي، آئون
هن پوسٽ کي پڙهڻ جي صلاح ڏيان ٿو ، جيڪا هن مسئلي کي حل ڪرڻ لاء صلاحون ڏئي ٿي. servlets جي وڌيڪ مڪمل تعارف لاءِ، اسان مضمون پڙهڻ جي صلاح ڏيون ٿا (
حصو 1 ،
حصو 2 )، جتي ليکڪ تفصيل سان بيان ڪري ٿو servlets ۽ jsp استعمال ڪندي هڪ سادي ايپليڪيشن ٺاهڻ جي.
هلندڙ سرور ۾ ايپليڪيشن کي ڪيئن شامل ڪجي
جيتوڻيڪ IDEA ۾ ٺهيل Tomcat هڪ آسان خصوصيت آهي، ويب ايپليڪيشن کي ٻئي سرور ۽ ٻئي ڪنٽينر ڏانهن منتقل ڪري سگهجي ٿو. اچو ته ان اختيار تي غور ڪريون جڏهن توهان کي پنهنجي ايپليڪيشن کي اڳ ۾ ئي هلندڙ سرور ۾ شامل ڪرڻ جي ضرورت آهي. پهرين، اهو ضروري آهي ته هڪ servlet ڪنٽينر جي مقصد ۽ افعال کي وڌيڪ سمجهڻ لاء . مٿي ڏنل مثال ۾ ڏيکاريل پروگرام هڪ ويب ايپليڪيشن آهي. ڪلاسTimeWorker
هڪ سروليٽ آهي. اجزاء خاص طور تي درخواست جي پروسيسنگ کي انجام ڏين ٿا. انهن حصن کي هڪ خاص سروليٽ ڪنٽينر ۾ تعمير ڪيو وڃي.
هڪ servlet ڪنٽينر جو مقصد servlets کي سپورٽ ڪرڻ ۽ انهن جي زندگي جي چڪر کي يقيني بڻائڻ آهي. Tomcat ڪم ڪرڻ جو آسان ترين مثال هڪ مخصوص فولڊر کي اسڪين ڪري رهيو آهي اهو طئي ڪرڻ لاءِ ته ڇا ان ۾ نئون سروليٽ ظاهر ٿيو آهي. جيڪڏهن ها، ان کي شروع ڪريو ۽ ان کي تيار ڪريو گراهڪن کان درخواستون حاصل ڪرڻ لاءِ. جيڪڏهن servlet اپڊيٽ ڪيو ويو آهي، اجزاء کي تازه ڪاري ڪرڻ لاء ٻيهر شروع ڪريو. جڏهن هڪ servlet کي حذف ڪرڻ، پروسيسنگ جي درخواستن کي روڪيو ۽ Tomcat مان سرورٽ کي هٽايو.
سروليٽ ڪنٽينر افعال
- servlet ۽ گراهڪن جي وچ ۾ ڊيٽا مٽائي؛
- ڪلائنٽ سيشن جي تنظيم؛
- servlet جي ڪم لاء هڪ سافٽ ويئر ماحول جي تخليق؛
- Идентификация и авторизация клиентов;
- В большинстве случаев — управление метаданными (заголовки, методы и прочее).
Установка сервлета
Tomcat принимает для обработки веб-applications на Java, которые имеют расширение .war. Это How jar, только web. Файлы такого типа объединяют в себе JSP-файлы, сервлеты, class-файлы, статические ресурсы и прочее. При установке такого file в Tomcat происходит его распаковка, а затем запуск, поэтому существует строгое требование к структуре файлов в проекте. Если проект был создан в IDEA, вся структура создана автоматически. Файл war можно создать стандартными средствами IDEA. Для этого необходимо зайти в ProjectStructure -> Artifacts -> Нажать “ +” -> WebApplication: Archive. В открывшемся поле задать Name для итогового war-file, например deployed_war. Ниже необходимо нажать на кнопку Create Manifest… Далее необходимо указать way to папке web проекта. В ней будет создана папка META-INF, в которую будет помещен файл MANIFEST.MF. Далее следует нажать Apply и Ok. Whatбы собрать проект в war-файл, следует во вкладке Build выбрать опцию Build Artifact: В появившемся поле нужно нажать на deployed_war. Затем начнется сборка проекта и Intellij IDEA создаст папку out, в которой появится папка artifacts с именем нашего артефакта. В этой папке будет лежать файл deployed_war.war: Теперь можно деплоить этот файл в Tomcat. Деплой applications проще всего выполнить из веб-интерфейса Tomcat. Просто нажмите кнопку выбора file на вкладке Deploy, перейдите к местоположению file WAR и выберите его, затем нажмите кнопку развертывания. В обоих случаях, если все пойдет хорошо, консоль Tomcat сообщит нам, что развертывание прошло успешно примерно таким выводом в консоль: INFO: Deployment of web application archive \path\to\deployed_war has finished in 4,833 msПольза Tomcat для разработки
Для разработчиков контейнеры сервлетов имеют огромную роль, так How решают целый спектр проблем. Для программирования на Java Tomcat обеспечивает несколько серьезных преимуществ:-
Самое главное, Tomcat может выполнять роль полноценного web-serverа. Благодаря этому развертывание приложений происходит гораздо быстрее, чем было раньше.Также Tomcat может выступать в роли классического контейнера сервлетов, который можно встроить в более крупный веб-server.
-
Tomcat способствует обмену данными между клиентом и сервлетом, обеспечивает программный контекст для веб-приложений, берет на себя функции идентификации и авторизации клиентов, создание сессий для каждого из них.
-
JSP صفحن جو تمام آسان انتظام مهيا ڪري ٿو. حقيقت ۾، ويب سرور صرف html جي خدمت ڪري سگهي ٿو. Jasper، Tomcat جو هڪ جزو، JSP پيج ٽيمپليٽ ٽيگ ۾ موجود ڪوڊ کي هڪ صحيح HTML فائل ۾ گڏ ڪري ٿو جيڪو ڪلائنٽ طرفان ملي ٿو. سڀ ٽيمپليٽنگ منطق Tomcat جي اندر رهي ٿو، توهان کي هڪ کلاسک HTML فارم ۾ اڃا به پيچيده تعمير ڪندڙ شامل ڪرڻ جي اجازت ڏئي ٿي.
main
ڪنهن طريقي سان هلائڻ لاء. پهرين نظر ۾، جيڪڏهن توهان مٿين مثالن تي نظر رکون ٿا، اهو ممڪن آهي. اسان جي servlet کان سواء قتل ڪيو ويو
main
. بهرحال، اهو ناهي. Tomcat جو ھڪڙو طريقو آھي
main
جنھن کي سڏيو ويندو آھي جڏھن سرور شروع ٿئي ٿو. توهان هڪ انٽرويو ۾ هن سوال پڇڻ پڪڙي سگهو ٿا.
GO TO FULL VERSION