AEM Servlet注册步骤及404访问失败问题求助
解决AEM Servlet 404问题及CRXDE手动注册步骤
首先你的代码存在两处关键错误,这是导致404的主要原因:
@SlingServlet的路径属性应为复数paths,你写成了Path- 请求方法需用大写
GET,你写的Get不符合规范
修正后的代码如下:
@SlingServlet(paths ={"/bin/test01"}, methods={"GET"}) public class TestServlet extends SlingSafeMethodsServlet { @Override protected void doGet(@NotNull SlingHttpServletRequest request, @NotNull SlingHttpServletResponse response) throws ServletException, IOException { response.getWriter().write("Hello World"); } }
修正后重新部署bundle,一般就能正常访问。如果注解方式仍未生效,可按以下步骤在CRXDE中手动注册Servlet:
CRXDE手动注册步骤
- 打开CRXDE Lite:访问
http://localhost:4502/crx/de,使用管理员账号登录 - 创建配置节点:
- 导航到
/apps/你的项目名/config路径,若没有config节点,右键父节点创建类型为sling:Folder的节点 - 在
config节点下右键,选择Create > Node:- 节点名称填Servlet的完整类名(比如
com.yourcompany.TestServlet) - 节点类型选择
sling:OsgiConfig
- 节点名称填Servlet的完整类名(比如
- 导航到
- 配置Servlet属性:
在右侧属性面板添加以下属性:sling.servlet.paths:类型选String[],值填入/bin/test01sling.servlet.methods:类型选String[],值填入GET
- 保存配置:点击顶部保存按钮,等待OSGi配置生效
- 重启项目Bundle(可选):若仍无法访问,到
http://localhost:4502/system/console/bundles找到你的项目bundle,点击Restart即可
内容的提问来源于stack exchange,提问作者Han Lu
相关产品推荐
相关产品推荐

