想法tomcat8部署总是404
idea tomcat8 deployment always 404
我正在尝试在 Ubuntu 16.04 OS 的 Intellij IDEA 中使用 maven
和 web.xml
部署 tomcat8
。
我的项目称为 ServletExample。我的 web.xml 中有以下代码。
<servlet>
<servlet-name>mainServlet</servlet-name>
<servlet-class>com.mycompany.servlet.MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mainServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
但是当我打开本地主机时,我总是变成 "it works" 页面或 404(在子 URL 中)。
我已尝试解决问题。
之后我可以在 http://localhost:8080/manager 中打开我的 servlet。
但我认为这不是一个正确的解决方案。
我应该怎么做才能在 localhost:8080/ 中正确打开我的 servlet?
如果它可以帮助我在我的 CATALINA_HOME/conf/tomcat_users.xml
中有这样的代码
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="tomcat, manager-gui, manager-script"/>
</tomcat-users>
我猜你混淆了两个不同的配置项。
1.您来自 IntelliJ 的屏幕截图
此设置意味着您的网络应用程序将被部署
到目录 <Tomcat-Home>/webapps/manager
。不幸的是,在大多数情况下,这个目录已经被 Tomcat 附带的 "Manager" 应用程序使用。在 IntelliJ 运行 配置中,您应该输入类似“/myApp”的内容
2。 URL 映射到 web.xml
如果你写 <url-pattern>/</url-pattern>
,如果你使用 URL http://localhost:8080/myApp/
(对应于#1),你的应用程序将回答。目录 <Tomcat-Home>/webapps/myApp
是您的 Web 应用程序的根目录。不要在代码中使用 /myApp
。
我正在尝试在 Ubuntu 16.04 OS 的 Intellij IDEA 中使用 maven
和 web.xml
部署 tomcat8
。
我的项目称为 ServletExample。我的 web.xml 中有以下代码。
<servlet>
<servlet-name>mainServlet</servlet-name>
<servlet-class>com.mycompany.servlet.MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mainServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
但是当我打开本地主机时,我总是变成 "it works" 页面或 404(在子 URL 中)。
我已尝试解决问题。
之后我可以在 http://localhost:8080/manager 中打开我的 servlet。 但我认为这不是一个正确的解决方案。 我应该怎么做才能在 localhost:8080/ 中正确打开我的 servlet? 如果它可以帮助我在我的 CATALINA_HOME/conf/tomcat_users.xml
中有这样的代码<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="tomcat, manager-gui, manager-script"/>
</tomcat-users>
我猜你混淆了两个不同的配置项。
1.您来自 IntelliJ 的屏幕截图
此设置意味着您的网络应用程序将被部署
到目录 <Tomcat-Home>/webapps/manager
。不幸的是,在大多数情况下,这个目录已经被 Tomcat 附带的 "Manager" 应用程序使用。在 IntelliJ 运行 配置中,您应该输入类似“/myApp”的内容
2。 URL 映射到 web.xml
如果你写 <url-pattern>/</url-pattern>
,如果你使用 URL http://localhost:8080/myApp/
(对应于#1),你的应用程序将回答。目录 <Tomcat-Home>/webapps/myApp
是您的 Web 应用程序的根目录。不要在代码中使用 /myApp
。