23:46
Урок 36: Введение в разработку веб-приложений

Курс по программированию на Java

Урок 36: Введение в разработку веб-приложений

Веб-приложения — это программы, которые работают на веб-серверах и доступны пользователям через браузеры. Веб-приложения могут предоставлять различные сервисы, от простых сайтов до сложных систем управления данными. В этом уроке мы рассмотрим основные концепции веб-разработки, включая клиент-серверную архитектуру, протокол HTTP и основы работы с сервлетами в Java.

Клиент-серверная архитектура

Клиент-серверная архитектура предполагает наличие двух основных компонентов: клиента и сервера. Клиент отправляет запросы на сервер, который обрабатывает эти запросы и отправляет ответы обратно клиенту. Примером клиента может быть веб-браузер, а сервером — веб-сервер, работающий с базой данных и логикой приложения.

Протокол HTTP

Протокол HTTP (HyperText Transfer Protocol) является основным протоколом, используемым для передачи данных в вебе. HTTP определяет методы (например, GET и POST), которые используются для обмена данными между клиентом и сервером. Веб-приложения в Java часто используют сервлеты для обработки HTTP-запросов.

Пример сервлета

Сервлеты — это классы Java, которые могут обрабатывать HTTP-запросы. Пример простого сервлета:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 response.setContentType("text/html");
 PrintWriter out = response.getWriter();
 out.println("<h1>Hello, World!</h1>");
 }
}

Результат выполнения

<h1>Hello, World!</h1>

Упражнения

Упражнение 1: Создание сервлета для вывода текущей даты и времени

Напишите сервлет, который выводит на страницу текущую дату и время. Используйте объект java.util.Date для получения текущей даты и времени.

Решение:

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/datetime")
public class DateTimeServlet extends HttpServlet {
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 response.setContentType("text/html");
 PrintWriter out = response.getWriter();
 Date currentDate = new Date();
 out.println("<h1>Current Date and Time: " + currentDate.toString() + "</h1>");
 }
}

Объяснение: Сервлет обрабатывает GET-запрос и выводит текущую дату и время на веб-страницу. Объект Date используется для получения текущей даты и времени.

Упражнение 2: Создание сервлета для обработки POST-запросов

Напишите сервлет, который обрабатывает POST-запросы и выводит имя пользователя, переданное через параметр name. Веб-форма должна отправлять данные на сервлет методом POST.

Решение:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/greet")
public class GreetServlet extends HttpServlet {
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 response.setContentType("text/html");
 PrintWriter out = response.getWriter();
 String name = request.getParameter("name");
 out.println("<h1>Hello, " + name + "!</h1>");
 }
}

Объяснение: Сервлет обрабатывает POST-запрос и выводит приветствие с именем пользователя, переданным через параметр name. Веб-форма должна отправлять данные методом POST.

Категория: Java | Просмотров: 16 | Добавил: Admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: