So legen Sie den Spring-Stammkontextpfad fest
Ich bin ein Spring-Neuling und erstelle eine Spring-Web-App (nicht Spring-Boot - wie viel Unterschied macht das?). Die Bereitstellung erfolgt auf einem Tomcat 7-Server.
Die App ist betriebsbereit. Mein Problem ist, dass nur über die Standard-URL zugegriffen werden kann:
http: //mycompany.com: 8081 / cwing-0.0.3-SNAPSHOT / index.html
Folgendes funktioniert nicht:http: //mycompany.com: 8081 / cwing-0.0.3-SNAPSHOT http: //mycompany.com: 8081 / cwing-0.0.3-SNAPSHOT /
obwohl meine web.xml index.html als Begrüßungsseite auflistet.
Ein zusätzliches Symptom für das Problem ist, dass alle Arten von Links innerhalb der Anwendung als relativ angegeben werden müssen und nicht mit einem vorangestellten '/'
Aber auch diese URLs sind nicht das, was ich wirklich will.
Ich würde lieber @ angeb
http: //mycompany.com: 8081 / cwing
und lassen Sie es die index.html aufrufen.
Folgen der Führung von Kontextpfad zur Spring Boot-Anwendung hinzufügen
Ich habe eine application.xml-Datei in src / main / resources mit folgendem Inhalt erstellt:
server.contextPath=/cwing
server.port=8081
Dies funktioniert nicht.http: //mycompany.com: 8081 / cwing zeigt eine leere Seite mit einem 404-Fehler auf dem Server an, ebenso wiehttp: //mycompany.com: 8081 / cwing / index.html.
Ich muss etwas vermissen. Was ist sonst noch nötig, damit dies funktioniert, so wie ich es möchte?
UPDATE: hier ist, wie gefragt, die web.xml (irrelevante Details entfernt).
<?xml version="1.0"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>cwing</display-name>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- The definition of the Root Spring Container shared by all Servlets
and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/context.xml
/WEB-INF/spring/datasource.xml
/WEB-INF/spring/security.xml
</param-value>
</context-param>
<servlet>
<servlet-name>d</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/context.xml
/WEB-INF/spring/datasource.xml
/WEB-INF/spring/security.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>d</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- Disables Servlet Container welcome file handling. Needed for compatibility
with Servlet 3.0 and Tomcat 7.0 -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...
</web-app>