首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在本地环境中不调用CQ5 servlet

在本地环境中不调用CQ5 servlet
EN

Stack Overflow用户
提问于 2018-05-07 09:25:41
回答 1查看 210关注 0票数 0

我是AEM开发的新手,在我的本地环境中我遇到了一些问题。我使用的代码与当前服务器上的代码相同(在服务器上一切正常工作),所以我想我这方面一定有一些错误的配置。

因此,在尝试下载资产时,应该调用这个servlet:

代码语言:javascript
复制
@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

例如,它由“资产”选择器触发。

代码语言:javascript
复制
http://localhost:4502/content/.assets.zip?path=content/folder/asset.jpg&_charset_=utf-8

问题是,如果我在酒吧里写了一个这样的URL,它就能正常工作。servlet被调用并下载asset.jpg。

不起作用的是Javascript代码,当用户单击按钮时,构建URL,将其放入隐藏的表单,然后提交表单。在本例中,servlet根本没有被调用(我在调试模式中放置了一些断点来检查),下面的页面将出现:

代码语言:javascript
复制
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></pre>

Go Back
Modified Resource
Parent of Modified Resource

正如我所说的,代码不应该是错误的,因为它在服务器上工作。我只是不知道该去哪里了解我在当地做错了什么。

编辑:

我打开了一个相关的问题,因为这个问题可能是另一个性质:CQ5 FormPanel在Chrome中发送HTTP,在IE中发送HTTP

EN

回答 1

Stack Overflow用户

发布于 2018-05-07 11:15:30

据我所见,您的网址中没有选择器:

代码语言:javascript
复制
http://localhost:4502/content/assets.zip?path=content/folder/asset.jpg&_charset_=utf-8

在这里我可以看到

  • potocol+host:http://localhost:4502
  • 资源路径:/内容/资产
  • 扩展:.zip
  • param1: path=内容/文件夹/asset.jpg
  • param2: charset=utf-8

如果要触发servlet,应该添加选择器(在路径和扩展之间添加.assets)。

代码语言:javascript
复制
http://localhost:4502/content/assets.assets.zip?path=content/folder/asset.jpg&_charset_=utf-8

参阅更多文档:鱼缸分解

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50210904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档