Я довольно новичок в разработке AEM и испытываю некоторые проблемы в своей локальной среде.
Код, который я использую, тот же самый, который в настоящее время находится на сервере (где все работает просто отлично), поэтому я предполагаю, что на моей стороне должна быть какая-то неправильная конфигурация.
Итак, у меня есть этот сервлет, который должен вызываться при попытке загрузить ресурс:
@Component(metatype = false)
@Service
@Properties({ @Property(name = "sling.servlet.resourceTypes", value = "sling/servlet/default"),
@Property(name = "sling.servlet.methods", value = { "GET", "POST" }),
@Property(name = "sling.servlet.selectors", value = "assets") })
public class AssetDownloadServlet extends SlingAllMethodsServlet
Он вызывается селектором «актив», например,
http://localhost:4502/content/.assets.zip?path=content/folder/asset.jpg&_charset_=utf-8
Дело в том, что если я напишу такой URL-адрес в строке, он работает просто отлично. Сервлет вызывается и загружает asset.jpg.
Что не работает, так это код Javascript, который, когда пользователь нажимает кнопку, создает URL-адрес, помещает его в скрытую форму и затем отправляет форму. В этом случае сервлет вообще не вызывается (я проверяю некоторые точки останова в режиме отладки), и появляется следующая страница:
<code>Status 200
Message OK
Location /content/aem/download
Parent Location /content/aem
Path /content/aem/download
Referer http://localhost:4502/content/aem/download.html
ChangeLog <pre>
Вернитесь
Модифицированный ресурс
Родитель Модифицированного Ресурса
Как я уже сказал, код не должен быть ошибочным, поскольку он работает на сервере. Я просто не знаю, где искать, чтобы понять, что я делаю не так на местном уровне.
РЕДАКТИРОВАТЬ:
Я открыл связанный вопрос, поскольку проблема может быть другой природы: CQ5 FormPanel отправляет HTTP POST в Chrome и HTTP GET в IE