Возможно, я неправильно понял, для чего нужны аннотации в сервлете Sling или что они контролируют.
У меня есть сервлет, определенный следующим образом:
@Component(immediate = true, metatype = false, label = "File Processor Servlet")
@Service(serviceFactory = false, value = javax.servlet.Servlet.class)
@Properties(value = {
@org.apache.felix.scr.annotations.Property(name = "sling.servlet.methods", value = { "GET" }),
@org.apache.felix.scr.annotations.Property(name = "sling.servlet.extensions", value = { "json" }),
@org.apache.felix.scr.annotations.Property(name = "sling.servlet.paths", value = { "/bin/FileProcessor" })
Теперь это можно развернуть, и оно отлично работает (кстати, я использую среду CQ5.3), что хорошо, и все довольны.
Однако только когда я знакомил кого-то со своим кодом, я понял, что реализовал метод doDelete()
, который также отлично работает, но, как вы видите, я не объявлял его как метод в sling.servlet.methods
свойство в аннотациях.
Я предполагал, что пропуск DELETE как метода в аннотациях вызовет проблемы, и сервлет не сможет его обработать.
Я пропустил смысл этих аннотаций?
Ваше здоровье.