获取位于java.base/java.lang.Class.getConstructor0的servlet错误

获取位于java.base/java.lang.Class.getConstructor0的servlet错误,java,Java,得到一个错误,它看起来像是我的构造函数出了问题?在ProfileServelt中,我有一个默认构造函数,它创建一个hashmap,然后创建3个概要文件。对我来说,它看起来很好,似乎没有任何问题,但也许我错过了什么?我在网上查过解决方案,但运气不好 SEVERE: Allocate exception for servlet [ProfileServlet] java.lang.NoSuchMethodException: ntrut.ProfileServlet.<init>() a

得到一个错误,它看起来像是我的构造函数出了问题?在ProfileServelt中,我有一个默认构造函数,它创建一个hashmap,然后创建3个概要文件。对我来说,它看起来很好,似乎没有任何问题,但也许我错过了什么?我在网上查过解决方案,但运气不好

SEVERE: Allocate exception for servlet [ProfileServlet]
java.lang.NoSuchMethodException: ntrut.ProfileServlet.<init>()
at java.base/java.lang.Class.getConstructor0(Class.java:3349)
at java.base/java.lang.Class.getConstructor(Class.java:2151)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:151)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1042)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:761)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)
严重:为servlet[ProfileServlet]分配异常
java.lang.NoSuchMethodException:ntrut.ProfileServlet。()
位于java.base/java.lang.Class.getConstructor0(Class.java:3349)
位于java.base/java.lang.Class.getConstructor(Class.java:2151)
位于org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:151)
位于org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1042)
位于org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:761)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
位于org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
位于org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
位于org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
位于org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
位于org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
位于java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
位于java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
位于java.base/java.lang.Thread.run(Thread.java:834)
我的代码

@WebServlet("/ProfileServlet")
public class ProfileServlet extends HttpServlet 
{
 HashMap<String, Profile> team = new HashMap<String, Profile>();

private static final long serialVersionUID = 1L;
private Gson gson = null;

ProfileServlet() 
{

    Profile profile1 = new Profile("1","bob","bee","Manc city","21");
    Profile profile2 = new Profile("2","billy","smith","Dortmud","25");
    Profile profile3 = new Profile("3","john","jamesd","Aston Villa","44");

    String id = "1";
    String id2 = "2";
    String id3 = "3";

    team.put(id,profile1);
    team.put(id2,profile2);
    team.put(id3,profile3);
}

public void sendAsJson(HttpServletResponse response, Object obj) throws IOException
{
    response.setContentType("application/json; charset=UTF-8");

    String js = gson.toJson(obj);

    PrintWriter out = response.getWriter(); 

    out.print(js);
    out.flush();

}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
    PrintWriter out = response.getWriter();
    String path = request.getPathInfo();
    out.print(path);

    sendAsJson(response, team);

}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{




}
@WebServlet(“/ProfileServlet”)
公共类ProfileServlet扩展了HttpServlet
{
HashMap团队=新建HashMap();
私有静态最终长serialVersionUID=1L;
私有Gson-Gson=null;
ProfileServlet()
{
Profile Profile 1=新的Profile(“1”、“bob”、“bee”、“Manc city”、“21”);
Profile profile2=新的Profile(“2”、“比利”、“史密斯”、“多特蒙德”、“25”);
Profile Profile 3=新的Profile(“3”、“john”、“jamesd”、“Aston Villa”、“44”);
字符串id=“1”;
字符串id2=“2”;
字符串id3=“3”;
团队投入(id,档案1);
团队投入(id2,profile2);
团队。put(id3,profile3);
}
public void sendAsJson(HttpServletResponse,Object obj)引发IOException
{
setContentType(“application/json;charset=UTF-8”);
字符串js=gson.toJson(obj);
PrintWriter out=response.getWriter();
打印输出(js);
out.flush();
}
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException
{
PrintWriter out=response.getWriter();
字符串路径=request.getPathInfo();
打印输出(路径);
sendAsJson(响应,团队);
}
/**
*@请参阅HttpServlet#doPost(HttpServletRequest请求,HttpServletResponse响应)
*/
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException
{
}

}

您是否尝试过在构造函数中添加一个
public
access修饰符?我刚刚尝试过,效果很好,真不敢相信我发送了两个小时。。。。