【发布时间】:2018-09-11 14:44:46
【问题描述】:
这是我的第一个 Web 应用程序,我只是尝试按照指南并使用在 web.xml 指定的 servlets 启动我的服务器,但似乎我的操作不会改变服务器的功能结果是 404 错误。但是,如果我以编程方式指定 servlet 就可以了。谁能弄清楚这一切应该如何运作?
这是我的服务器代码
public class Launcher
{
public static void main(String[] args) throws Exception
{
Server server = new Server(8080);
WebAppContext web = new WebAppContext();
web.setContextPath("/");
web.setWar("src/main/web/WEB-INF/web.xml");
//web.addServlet(MyServlet.class,"/"); This line works just fine
server.setHandler(web);
server.start();
server.join();
}
}
我的 web.xml 看起来像这样
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>lab3.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>*</url-pattern>
</servlet-mapping>
</web-app>
【问题讨论】: