首页 > 解决方案 > URL 中的应用程序名称

问题描述

我创建了一个名为first-web-application. 然后我创建了一个servletdoGet方法。

@WebServlet(urlPatterns = "/login.do")
public class LoginServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        PrintWriter out = response.getWriter();
    ------------------
    -----------------
}
}

当我运行并访问此应用程序时,它即将到来

http://localhost:8080/first-web-application/login.do

但是我正在关注的视频没有使用应用程序名称。输出只是通过使用来

http://localhost:8080/login.do

如果我删除了应用程序名称,则会出现 404 错误。我的意思是我们如何在 URL 中使用或删除应用程序名称。

很抱歉问这样的基本问题,但我无法理解

标签: servletscontextpath

解决方案


那是因为您的应用程序可能被打包为first-web-application.war并且您的根上下文名称变为hostname:port/first-web-application/.

解决此问题的最简单方法是将您的 Web 应用程序打包为ROOT.war,并且由于ROOT是映射到服务器上根/上下文路径的默认名称,因此您的应用程序将可以在 Web 容器的根目录中访问。


推荐阅读