Java 无法注册servlet

Java 无法注册servlet,java,sling,aem-6,Java,Sling,Aem 6,我已经创建了一个servlet。我在ApacheSlingServlet解析器中添加了servlet路径。我正在使用与servlet路径相同的url启动一个ajax调用。但是servlet没有注册,在ajax调用之后,流不会进入servlet。我正在使用AEM 6.5 PFB Servlet代码 package com.aem.poc.core.servlets; import java.io.IOException; import java.rmi.ServerException; im

我已经创建了一个servlet。我在ApacheSlingServlet解析器中添加了servlet路径。我正在使用与servlet路径相同的url启动一个ajax调用。但是servlet没有注册,在ajax调用之后,流不会进入servlet。我正在使用AEM 6.5

PFB Servlet代码

package com.aem.poc.core.servlets;

import java.io.IOException;

import java.rmi.ServerException;

import com.aem.poc.core.service.WaterHeightService;

import org.apache.sling.api.SlingHttpServletRequest;

import org.apache.sling.api.SlingHttpServletResponse;

import org.apache.sling.api.resource.Resource;

import org.apache.sling.api.resource.ValueMap;

import org.apache.sling.jcr.api.SlingRepository;


import java.util.*;

//DS Annotations

import org.apache.sling.servlets.annotations.SlingServletPaths;

import org.osgi.service.component.annotations.Component;

import org.osgi.service.component.annotations.Reference;

import javax.servlet.Servlet;

import org.osgi.framework.Constants;

import org.apache.sling.api.servlets.HttpConstants;

import org.slf4j.LoggerFactory;

import org.slf4j.Logger;

@SlingServletPaths("/bin/heightSearchServlet")

@Component(service=Servlet.class)


public class WaterHeightServlet extends org.apache.sling.api.servlets.SlingAllMethodsServlet {

    //private static final long serialVersionUID = 2598426539166789515L;
    @Reference
    private SlingRepository repository;

    @Reference
    private WaterHeightService whs;
    List<Map> waterHeightList = new ArrayList<>();

    public void bindRepository(SlingRepository repository) {
        this.repository = repository;
    }

    @Override
    protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServerException, IOException {
        try
        {
            String requiredHeight = request.getParameter("id");
            waterHeightList.addAll(whs.getHeightList());
            Logger log = LoggerFactory.getLogger(WaterHeightServlet.class);
            //log.debug("passed param value is"+requiredHeight);
            for (Map item: waterHeightList) {
                log.debug("map item is"+item.get("datevalue"));
            }
            //response . write() trturn the data
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

请帮助解决此问题

您不会从servlet返回任何响应。使用
response.getWriter().write(“Hello JSON”)希望这有帮助。

非常感谢您的回复。我一定会那样做。但是Servlet被忽略了,即使我在ApacheSlingServlet解析器中包含了路径,并且使用了适当的注释。当我通过路径注册servlet时,请告诉我,当它被忽略时,有什么解决方案。因为当我在system/console/servletresolver中尝试时,我得到了“servlet不存在”响应,您可以检查osgi配置中的脚本解析器执行路径中是否添加了“/bin/”。如果没有添加,那么当您注册了以/bin/开头的路径时,在点击servlet路径时将出现404错误。默认情况下,它应该存在。
$(document).ready(function() {

    //$('body').hide().fadeIn(5000);

   $('#fetch-heightdetails').click(function() {

    var targetHeight= $('#heightValue').val() ; 

    $.ajax({

            type: 'GET',    
            url:'/bin/heightSearchServlet',
            data:'id='+targetHeight ,
            success: function(msg){   
                var json = jQuery.parseJSON(msg); 
                console.log(json);               
            }
        });
    });
  });