Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jetty servlet与web.xml的映射不起作用_Java_Servlets_Jetty - Fatal编程技术网

Java Jetty servlet与web.xml的映射不起作用

Java Jetty servlet与web.xml的映射不起作用,java,servlets,jetty,Java,Servlets,Jetty,我正在用Jetty构建一个Java web应用程序,并试图用web.xml映射servlet,但是,这不起作用-所有映射的servlet URL都返回Jetty 404错误 这是我的/src/main/webapp/WEB-INF/WEB.xml文件: 404 /错误/404 主页 xx.yyy.zzz.VV.HelloPageHandler 主页 /* 头部过滤器 xx.yyy.zzz.vv.HeaderFilter 头部过滤器 /* (由于明显的原因,真实的包名被隐藏) 主启动器类代

我正在用Jetty构建一个Java web应用程序,并试图用
web.xml
映射servlet,但是,这不起作用-所有映射的servlet URL都返回Jetty 404错误

这是我的
/src/main/webapp/WEB-INF/WEB.xml
文件:


404
/错误/404
主页
xx.yyy.zzz.VV.HelloPageHandler
主页
/* 
头部过滤器
xx.yyy.zzz.vv.HeaderFilter
头部过滤器
/* 
(由于明显的原因,真实的包名被隐藏)

主启动器类代码:

publicstaticvoidmain(字符串[]args){
Logger.getGlobal().log(Level.FINE,“启动服务器”);
试一试{
服务器=新服务器(10800);
ServletHandler=新的ServletHandler();
server.start();
join();
}捕获(例外e){
Logger.getGlobal().log(Level.severy,“启动服务器时异常”,e);
}
}
但是,尝试查看某些映射的URL时:

我确实试过:

publicstaticvoidmain(字符串[]args){
Logger.getGlobal().log(Level.FINE,“启动服务器”);
试一试{
服务器=新服务器(10800);
ServletHandler=新的ServletHandler();
setHandler(servletHandler);
ServletHolder=新的ServletHolder(新的HelloPageHandler());
servletHandler.addServletWithMapping(holder,“/abcd/*”);
servletHandler.addFilterWithMapping(HeaderFilter.class,“/*”,EnumSet.of(DispatcherType.REQUEST));
server.start();
join();
}捕获(例外e){
Logger.getGlobal().log(Level.severy,“启动服务器时异常”,e);
}
}

然而,在main方法中单独添加每个servlet是重复的,而且看起来很愚蠢和不正确。你知道为什么会发生这种情况吗?

你的
web.xml
文件中的条目中真的有空格吗?是的,我有。这会改变什么吗?是的,空白在XML中是相关的。每个xml文本元素前后都有空格,但是我去掉了空格,这似乎没有任何影响