Какво е уеб сървлет

Интернет приложения в JAVA

мрежови протоколи

Така че е лесно да се заключи - уеб-сървър е специална програма, която работи на вашия компютър и предприема конкретни порт. Както бе споменато по-горе, най-популярният пристанище - 80.







HTTP - кой е той?

А сега няколко думи за HTTP. HTTP - това е протокол за пренос на хипер-текст - Hypertext Transfer Protocol. Като цяло, това не се предава някакъв странен хипертекст, и най-често срещаната текста, но след като го е кръстен така, така да бъде. Hypertext става, когато става pokazvaet браузър. Това е браузър, в съответствие с тагове (ние ще говорим за тях по-късно) форматира текста се споменава (това е това, което прави текста на хипертекст), показва, чертежи и т.н.
Когато приложение създава TCP / IP връзка с друго приложение (или на друг компютър в същата), то можем да си представим като един вид тръба, която в момента е в двете посоки може да се предава байта.
HTTP е просто описва какво байта (знака), и в какъв ред трябва да се предава на клиента и сървъра се разбират помежду си. HTTP е може би един от най-лесните протоколи. Днес има две версии на протокола HTTP - 1.0 и 1.1. Най-често срещаните команди са GET и POST. формат Заявка е както следва:

URL включва пътя към ресурса и параметрите, които се предават след пътя. Ние поставяме под въпрос и след това да се двойка <имя>=<значение> чрез знака , донякъде

Както можете да видите, тук ние поиска ресурс / RFS / шоу и предавате параметри showName и secondLetter.

Първата дума на сървлета

Какво е сървлет. Опишете накратко работата на сървлета, можете: Web-сървър, който е в състояние да работи с сървлети, Java-машина започва, което от своя страна изпълнява сървлета и сървлета изпраща данните, които ще се генерират. Т.е. когато постъпи заявка от клиент-сървър с помощта на специален конфигурационен файл може да се определи кои сървлет да изпълнява сървлет се изпълнява и създава HTML-страница, че сървърът изпраща на клиента.
И сега отново и бавно 🙂
На сървъра искане идва от клиентска заявка съдържа в себе си URL адрес и параметри. Сървърът има специален конфигурационен файл, който той разказва за това как сървлет трябва да се направи в случай на появата на даден URL адрес. Сървлет се изпълнява (където можете да използвате настройките) и създава HTML-страница, която се изпраща на клиента.
Сървърът е по същество съд (сега не-визуални компоненти), което зарежда Servlets, да ги изпълнява, наричайки определени методи и да получите резултатите от тях, тя изпраща на клиента.
Така сървлет - един Java клас, който се простира по принцип от класа • HttpServlet и замените на методите:
• doGet - ако искаме да отговорим на искането на сървлета GET.
• doPost - ако искаме да отговорим на искането на сървлета POST.
• doPut, doDelete - ако искаме да отговорим на постави сървлет и DELETE заявка (има в HTTP). Тези методи рядко се изпълняват, защото собствен екип също е много рядко.
• Инициализация унищожи - за управление по време на сървлета, както и по време на нейното унищожаване.

Ако трябва да се хванат всички команди, най-лесният начин е да се предефинират услуга. Този метод се нарича, когато искането идва от клиента. В случва HttpServlet анализ на заявките и начин doGet причинени съответствие с каза команда, doPost т.н.
Ние ще напиша просто сървлет, който показва традиционното Здравей, свят!.
Но първо трябва да стартирате уеб-сървър, който поддържа аплети. Най-лесно за нас да Tomcat.

HTML и XML

За по-доброто разбиране на материала, трябва да имате известни познания за двата езика за маркиране - HTML (Hyper Text Markup Language) и XML (Extensible Markup Language).

С две думи - двата езика използват система от "тагове". Tag - е набор от символи, която е затворена в ъглови скоби "<«, «>". Например:

Както можете да видите, аз "открих" маркер Б и след текста "затваря" него. По принцип няма нищо сложно. Важно е, че ще направи браузъра (или друго приложение), които отговарят на следната последователност. За HTML, това означава, че текстът, който nazhoditsya вътре трябва да бъдат изолирани "смели" шрифт.
Важно е да се разбере, че HTML - това е просто начин да "каже" на браузъра как да форматирате текста. Т.е. използване на различни етикети посочите вашата информация ще бъде показана във всякаква форма. Т.е. HTML има специфичен набор от етикети, с които има форматиране на текста - размер на шрифта, подравняване, цвят на фона и др
За разлика от HTML XML назначаване - за съхранение на структурата на данните. Вие посочвате името на структурата на документа, че където и в какъв ред е, но за да се покаже като браузър документ на идеята, не може да бъде - той трябва да предложи как да се тълкува определена маркер. Можете да излезе с вашите собствени тагове, които са много важни и това е ясно за вас и вашия инструмент. За съжаление (или може би за щастие) тази тема изисква отделна книга, така че ние няма да спре.
Много много искам само едно - да се запознаят с основните концепции на HTML и XML за по-нататъшно разбиране. Достатъчно проста разбиране - ще научите тънкостите на себе си в бъдеще самостоятелната работа.

Стартирайте Tomcat уеб-сървър

Изтеглете Tomcat може да бъде сървър - Apache Tomcat.
От ляво ще видите списък на Tomcat версии - изберете правото (тествах молбата си до версия 6). ВНИМАНИЕ: Преди да изтеглите проверка на файл, който версия на JVM, който използвате. Ако 1.4, Tomcat версия 6.x / 5.5 няма да правя. Има допълнителна библиотека, която решава проблема с съвместимост, но искреното ми съвет към вас - си дадете JVM 1.5 и ще се избегнат проблеми с инсталацията. По принцип сте лесно да премине другите части не го правят, защото там също изисква Java версия 1.5 или по-висока.

По същество като изтеглите файла, който току-що разархивирайте в някоя папка. Аз обикновено се създаде отделна JAVA папка, в която да се инсталира всички пакети, IDE, JDK, и други неща. Излишно е всяка опаковка има своя собствена директория.
В бъдеще ще използвам TOMCAT_HOME стойност да покажем какво директория в рамките на Tomcat сървъра инсталиран, трябва да направите нещо, за да започне, за да зададете или промените.
Също така е много важно - трябва да настроите променливата от обкръжението JAVA_HOME. Трябва да укажете пътя до основната директория на JDK инсталиран.
За Windows, това се прави, както следва:
Start-> Settings-> Control панел-> System-> Advanced-> променливи на средата.
За Unix, просто трябва командния ред, за да създадете променлива JAVA_HOME или да го регистрирате в първоначалната настройка. (Мисля, че за тези, които използват Unix не е проблем).






Ако не ме лъже паметта, за по-ранни версии на Tomcat тя също е била необходима с възможно променлива TOMCAT_HOME, но сега това не е необходимо. Така че ние не можем да направим.
След като сте инсталирали Tomcat нека проверим нейната ефективност. За да направите това, отидете в директорията \ Bin и стартирате startup.bat файл. Ако не ги объркате нещо, то трябва да започне DOS-бокс, в който се показва различна информация. Погрижете се, че не е имало съобщения за грешки - те са непосредствено очевидни - обикновено издава пълен пакет от методи. Най-важното послание към вас трябва да се появи в самия край (обикновено трябва да изчакате 5-10 секунди - при условие, че Tomcat не съдържа много приложения)

стартиране на сървъра на 8828 MS: INFO

Броят на милисекунди, разбира се, може да не е така. Ако всичко върви добре, започнете вашия браузър и напишете го

8080 - това е по подразбиране порт, който се Tomcat. Порт 80, той не докосва. Въпреки че, ако искате да използвате друг порт - въведете директорията \ Conf и okroyte server.xml файл. Погледнете в реда в тях

Както можете да видите, можете да промените порт 8080 към всеки друг, който е удобен за вас. Не забравяйте, че ако промените файла, който neobohdimo рестартирате Tomcat.
Така че, ако сте написали зададения URL адрес, предната част на очите ви ще се отвори главната страница на сървъра Tomcat с хубав и (Уверявам ви) е много добре позната котка в горния ляв ъгъл. (Въпреки, че ми се струва, че това е по-скоро като тигър - тя може да бъде такъв, какъвто е?)

В горната дясна част на надписа ще бъде успокояващо

Ако виждате тази страница чрез уеб браузър, това означава, че сте настроили Tomcat успешно. Честито!

И поздравления, също - току-що сте започнали свой собствен личен уеб-сървър.

Най-популярната сървлета - Hello, World

Както можете да видите сме наследили от клас библиотека HttpServlet и замени един метод - doGet.
Сега, ние се фокусираме върху няколко важни точки:

  1. Обадете setContentType. Този метод е важно за тези, които използват български език - преди показването на страницата с български teskt браузър трябва да бъде информиран, че това е текстът на български език ние ще се покаже и браузъра трябва да използват кодирането. който ни устройва.
  2. получаване Writer класа за изходните данни. Много е важно да се отбележи следващия миг - заключение може да се извърши знак по знак, а байт по байт. За да се покаже текста, използвайки характер, ориентирани към изход за извеждане на бинарни файлове, използвани за един байт. За по-пълно разбиране за това как по-добре да погледнете информацията подредени в I / O нишки за Java на.

За Java разлика между символ и един байт е много важно - като Java е предназначена за в бъдеще, за символа го използва два байта, вместо една, както е било в началото на език C или Pascal. Фактът, че различните класове се използват за отделни видове I / O потоци. Reader / Writer - четене / запис характер. InputStream / OutputStream - четене / запис на байта.
В нашия случай, ние отпечатате текста и затова се получи Writer. Този клас ни позволява да напишете най-нормален HTML текст в него. Това, което правим. За изграждането на сървлета няма да се налага JDK стандартната библиотека - трябва да свържете допълнителни библиотеки. И такава библиотека за нашето щастие е в доставката на Tomcat - изглежда в директорията \ Common \ ИЪ. Този сървлет-api.jar. Нека да го свържете към поточната линия. Аз просто копират необходимата JAR до директорията с проекта. Нашата линия за монтаж ще бъде, както следва:

Така че нашият сървлет сглобени и готови за инсталиране. При монтажа трябва да направим редица действия.

Тя изглежда достатъчно проста:

няколко точки, трябва да споменем:

  1. Уеб приложения маркер е основната маркер. Тя може да съдържа допълнителни атрибути, но ние в момента не са необходими. Всички ostalyne тагове, които са вътре в нея.
  2. Tag сървлет обвива таговете, които описват сървлет. Tag сървлет-име съдържа в себе си някакво име - можете да използвате това, което ви харесва най-добре. Tag сървлет-клас трябва да съдържа действителното име на класа. В нашия случай ние поставяме нашия клас в students.web пакет и пълното име на класа ще students.web.HelloWorldServlet.
  3. Tag сървлет-картографиране. Тук ние определяме адреса, който ще се появи на потребителя да извлича данни от нашия сървлет. По-точно е посочено, както следва: ние определяме сървлет ще обработва въведените URL.

Tag сървлет-име съдържа име, което ние определено в раздел 2 (има и сървлет-име маркер) и URL-модел етикет включва URL адрес.
Файлът web.xml трябва да се намира в директорията \ Webapps \ studentsApp \ WEB-INF \. Т.е., пълния път до файла изглежда така:

Сега нека да тичам Tomcat и се опитайте да получите отговор от нашия сървлет. Така че, започнете Tomcat и линията на браузъра, въведете:

Използване на база данни

За да започнете да използвате цялата си база данни, ние трябва да - създаване на друга директория и да копирате буркана за нашата работа с базата данни - MySQL-конектор-Java-3.1.13-bin.jar. указател е \ Webapps \ studetnsApp \ WEB-INF \ ИЪ

Съответно, пълния път до файла ще бъде: \ Webapps \ studetnsApp \ WEB-INF \ ИЪ \ MySQL-конектор-Java-3.1.13-bin.jar

И разбира се сменяме сървлет с цел събиране на данни от базата данни. Новият кодекс за нашия сървлет ще бъде малко по-сложно.

Добре дошли в Tomcat

Добре дошли в Tomcat

Благодарим Ви за серия от статии са много полезни.
Само един проблем в страните от - Не мога да се постигне правилното показване на кирилица в браузъра.
Български текст се получава по следния начин: ............
Мислех, че проблем tomkate 8, задайте 6, но проблемът не изчезне.
Може би проблемът се появява по време на компилация (използвайте идеята 14).
Като цяло, аз разбирам повече.

Очевидно е, че проблемът с JDK 1.8, при съставяне на ПМС дава следното:
unmappable характер за кодиране UTF-8
всеки руски писмо.
Ще се опитам да се инсталира по-стара версия zhdk

Прави се опит за съставяне на даден нищо в шести zhdk, грешката е същата.
Разтворът на НЕТЕ на проблема не може да бъде намерен.
Може би проблемът с ОП за кодиране, има почти никакви идеи.
Аз съм близо до получаване на откъсване от кирилицата в момента.
Наистина съжалявам 2 дни, загинаха най проблема.

Така че това, което е на кода. Изтегляне на примерен или нещо по-различно?

Да, и своята, и изтегляне на проба Кампильо също не е правилна.
Вече съм разбрал. Първо отвори * .java файл в Notepad, да го запишете в UTF-8 формат, а след това да го отворите в Notepad ++ и отново видях драскулка)). Фиксирана текста отново в notpade и запишете файла. Тогава аз го компилира без грешка през конзолата.
След това в Idea съм създал нов проект и да се промени всичко кодирането на UTF-8 (по подразбиране е имало прозорци-1251), а след това всичко беше наред Кампильо в Idea.
кодиране промени в съществуващ проект не помогна, която първоначално се опитах. Защото аз съм съгрешил в tomkat, тогава zhdk, все пак е нещо.
Но след това отново, това е странно, че изтегления файл и даде същата грешка при съставянето, не съм го гледал още някой тук е имал такива проблеми.
Не се притеснявайте, аз съм се радвам, че го е определила, като AS Пушкин, опит - син на грешки трудно))

За съставянето на данните от командния ред е необходимо да се използва допълнителен ключ -encoding - в противен случай в UTF-8 от командния ред с българските букви, не може да се компилира.

Да, разбира се, Кампильо с ключ върху него и получи unmappable характер за кодиране UTF-8
всеки руски писмо.

Една грешка, подобна на тази грешка на Алекс (Alex български само символи, за да бъдат показани в диаманта с въпросите, аз просто показва въпроси (на различни етапи от грешка)).
Като цяло, аз открих грешка, но не разбирам какво е то.
Грешката е в този ред:
response.setContentType ( «текст / HTML, набор знаци = UTF-8"); - повреден линия
response.setContentType ( «текст / HTML; набор знаци = UTF-8"); - Фиксирани линии

Не знам защо, но тези на пръв поглед две еднакви линия работи по различен начин. Първо аз се взе бележник в UTF-8, втори копирани тук. Защо не е моя работа - и не разбрах.

По-добре да не се използва setContentType и setCharacterEncoding.
В първия случай се установява обща тип информация трябва да се върне - в този случай HTML в UTF-8. Всички изброени разделени с запетая.
Във втория случай, може просто да използвате «UTF-8". Това показва, че времето за престой UTF-8 кодиране.

Бих добавил, че имах проблем с факта, че правилните промени във файл Java, събрани в клас, свалени в съответната папка в Tomcat, разхождаха адреса, но не е имало промяна.
Реших, че отново стартира Tomcat в областта на услугите. Той е видял нещо в неговата или хром хешове същите сделки.

наистина шокиращо, когато трансплантация на развитието на работния плот ... всъщност аз изумен от начина, по който все още работи. tyscha конфигурации, концепции. как да се трасира, ако не започне, не е ясно, официалната документация на цялата библиотека. тя все още е само един пример, има цяло тъмно, всички видове Maven, бръшлян, рамки - всеки със своя собствена логика и т.н. и т.н ... с производството не dozhivosh, ако започнете от нулата.
Ръцете надолу всичко това проучване, когато си представим силата на звука. Аз не мога да си представя как всичко това се изучава в университетите.

Благодаря за статията!
За съжаление, най-много в търсенето на промишлеността в програмирането за текущия ден. = (

Благодаря ви за милите думи. Тази работа - всички видове инструменти. Така че аз искам да дам най-малко си сили, за да се разбере, че ние трябва да погледнем (и от коя страна), както и че не е необходимо или не е необходимо.

Благодаря за статията Всичко се случи за първи път.
Проблемът беше, че той направи чрез проекта Maven скочиха с пристрастяването, Mauger, които могат да помогнат. Трябва да добавите следния код в pom.xml.

org.apache.tomcat
котарак-сървлет-API
8.5.3