servlets - URL 中的应用程序名称
问题描述
我创建了一个名为first-web-application
. 然后我创建了一个servlet
有doGet
方法。
@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 中使用或删除应用程序名称。
很抱歉问这样的基本问题,但我无法理解
解决方案
那是因为您的应用程序可能被打包为first-web-application.war
并且您的根上下文名称变为hostname:port/first-web-application/
.
解决此问题的最简单方法是将您的 Web 应用程序打包为ROOT.war
,并且由于ROOT是映射到服务器上根/
上下文路径的默认名称,因此您的应用程序将可以在 Web 容器的根目录中访问。
推荐阅读
- javascript - 在 JavaScript 中将变量名连接到其数组属性之一的正确语法是什么?
- javascript - 在 Angular 中声明一个数组
- npm - 导入特定的包版本
- scala - 斯卡拉差异。这究竟是在做什么?
- pandas-groupby - 如何根据另一列中的值进行分组和求和
- django - Django:自定义表单集验证 + url slug
- javascript - 使用 WebdriverIO 无法单击 Material UI Select
- c# - img 标签不打印缩略图照片
- android - 签名和未签名用户的活动应该不同吗?
- visual-studio - Visual Studio:禁用 CodeLens lync (Skype Enterprise) 集成?