2016-12-10 6 views
0

Ich versuche tomcat8 mit maven und web.xml in Intellij IDEA in Ubuntu 16.04 OS zu implementieren. Mein Projekt wird ServletExample genannt. Ich habe folgenden Code in meiner web.xml.Idee Tomcat8 Bereitstellung immer 404

<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> 

Aber immer, wenn ich localhost Eröffnung bin ich geworden nur „es funktioniert“ Seite oder 404 (in subURLs).

Ich habe versucht, das Problem zu lösen.

enter image description here

Danach kann ich meine Servlet in http://localhost:8080/manager öffnen. Aber ich denke, es ist keine richtige Lösung. Was soll ich tun, um meine Servlets in localhost richtig zu öffnen: 8080 /? Wenn es kann helfen, ich habe einen solchen Code in meinem 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> 
+0

Welchen Anwendungskontext verwenden Sie für Ihre App? Ist es ROOT oder/etwas? Dies muss in Ihrer URL enthalten sein. –

+0

in allen Beispielen, die ich in Internet-Servlets gesehen habe, sind in localhost geöffnet: 8080/oder localhost: 8080/PROJECTNAME. Also ich denke, ich möchte/Anwendung Kontext verwenden –

Antwort

1

Ich denke, Sie vermischen zwei verschiedene Konfigurationselemente.

1. Ihr Screenshot von IntelliJ

Diese Einstellung bedeutet, dass Ihre Web-App
in das Verzeichnis <Tomcat-Home>/webapps/manager bereitgestellt wird. Leider wird dieses Verzeichnis in den meisten Fällen bereits von der Anwendung "Manager" verwendet, die mit Tomcat ausgeliefert wird. Im IntelliJ Run Configuration, sollten Sie so etwas wie "/ myApp"

2. URL-Zuordnung in web.xml

eingeben Wenn Sie <url-pattern>/</url-pattern> schreiben, wird Ihre Bewerbung beantworten, wenn Sie mit der URL-Adresse http://localhost:8080/myApp/ (entspricht # 1). Das Verzeichnis <Tomcat-Home>/webapps/myApp ist das Stammverzeichnis Ihrer Web-App. Verwenden Sie nicht /myApp in Ihrem Code.

+0

ja, danke. Ich habe es schon verstanden. In allen Guides wurde gesagt, dass sich das Servlet in/nameOfProject/... befindet. Ich habe es nicht bemerkt. Und jetzt weiß ich tatsächlich, dass dies Anwendungskontext ist statt NameOfProject –

+0

Lebensretter, endlich kann ich Netbeans loswerden: D –

Verwandte Themen