Обязательно ли нужно уметь их писать? Я думал, что Spring будет автоматически создавать их, а от нас будет требоваться создавать контроллеры, модели и т.п.
С точки зрения новых подходов к разработке backend (GraphQL) вообще нет смысла изучать
методы DEL/GET/PUT. Все будет заменяться на POST, который делает всю работу и в нем-же будут
коды ошибок и прочее.
С этой точки зрения сервлет является таким-себе странным рудиментом. Вроде он существует.
Обеспечивает команды HTTP-протокола. Но кому нужны эти все команды - непонятно?
Можете запрограммировать приложение с сервлетом типа превед-мир чтоб понять как оно
будет работать. Но вряд-ли в современном бизнес-программировани или промышленном
программировании от вас кто-то этого потребует.