Backend на Java

200
06 января 2018, 02:55

Доброе время суток. Начал учиться backend, но видео-курс на ютубе не до конца закончен и у меня осталась пара вопросов. "Учитель" все уроки работал лишь с одним классом "MyServlet.java", который наследовался от HTTPServlet и имел два метода GET и POST ( насчёт этих методов понятно). Например, при регистрации пользователь передаёт некоторые данные

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Регистрация</title> 
</head> 
<body>	 
	<form method = "POST" action ="MyServlet"> 
	Имя<input type = "text" name = "name"> 
	Возраст<input type ="text" name = "age"> 
	Электронная почта<input type = "text" name = "email"> 
	<input type = "submit" value = "Зарегистрировать"> 
	</form> 
</body> 
</html>

Далее в методе POST берутся эти параметры и пользователь регистрируется

String name = request.getParameter("name");
String age = request.getParameter("age");
String email = request.getParameter("email");

А если мы с другой html страницы хотим передать совсем другие параметры? Получается для каждой страницы писать свой java класс со своими GET и POST и указывать в html класс и метод?

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Информация пользователя</title> 
</head> 
<body> 
	<form method = "METHOD" action = "CLASS"> 
	..... 
	</form> 
</body> 
</html>

Answer 1

Да, если использовать чистые сервлеты, то на каждый адрес надо писать свой сервлет(класс). Это можно заметить по файлу web.xml или аннотациям над сервлетами.

Один класс может содержать только по одному методу doGet, doPost, doPut..., дублирование методов внутри класса не позволит компилятор. Соответственно на каждый адрес пишется свой сервлет.

Можно использовать Spring. Он использует сервлеты, но вам не надо будет создавать кучу классов. Используя аннотацию @RequestMapping можно задать и метод запроса и адрес, который будет случать метод.

READ ALSO
Считывание даты из файла и запись в файл

Считывание даты из файла и запись в файл

В файле у меня условная база данных, в которой хранятся объекты с даннымиОдним из данных является дата и записывается дата в формате dd

191
OpenCL на С++ или на Java

OpenCL на С++ или на Java

На C++ или на java выгоднее/дешевле/быстрее реализовать программу для работы с большими объемами данных? Уточню что архитектура программы предполагает...

151
SIP Invite пробел между headers и sdp

SIP Invite пробел между headers и sdp

Когда я формирую INVITE ответ другому юзеру, то нужно добавить пустую строку между headers и sdp, если я ее не добавляю, то звонок не происходитЕсть...

185
Не работает TextToSpeech

Не работает TextToSpeech

В общем, более абсурда я не виделЕсть голосовое приложение, которое по логике, должно отправлять 1234 на сервер(точнее на планшет, на котором...

270