Wie richte ich meine Spring-Anwendung so ein, dass Hosts/Domänen korrekt verwendet werden?Host-Domäne für Spring für API und eckigen Inhalt als Hauptdomäne einrichten
Ich bin ziemlich neu in Spring so hoffentlich ich beschreibe mein Setup angemessen für Sie.
My Frühlings-Setup hat Tomcat WEB-INF/web.xml
über die Konfigurationsdatei eingebaut und WEB-INF/mvc-dispatcher-servlet.xml
und es generiert automatisch/hört auf localhost:8080/spring-ng-seed
(der Name des Projekts vorerst).
Stecke ich in meine /etc/host
Datei:
127.0.0.1 spring-ng-seed.dev
127.0.0.1 api.spring-ng-seed.dev
dann muss ich immer noch in meinem Browser eingeben spring-ng-seed.dev:8080/spring-ng-seed/index.html
Wie kann ich die Portnummer und den Namen der Anwendung Präfix verlieren vor index.html? (:8080/spring-ng-seed
)
Ist es auch möglich, meine API nur auf api.spring-ng-seed.dev
und nicht auf spring-ng-seed.dev
reagieren zu lassen? dh haben:
1) spring-ng-seed.dev
nur die App NG dienen
2) api.spring-ng-seed.dev
nur dazu dienen, die API
Meine WEB-INF/mvc-dispatcher-servlet.xml
Datei:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd
"
>
<context:component-scan base-package="seed.rest.api"/>
<mvc:resources mapping="/**" location="/app/build/"/>
<mvc:annotation-driven/>
<security:global-method-security pre-post-annotations="enabled">
<security:protect-pointcut expression="execution(* seed.rest.api.*.*.**(..))"
access="ROLE_DUMMY"/>
</security:global-method-security>
</beans>
Meine WEB-INF/web.xml
Datei
<?xml version="1.0" encoding="UTF-8"?>
<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"
>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/business-config.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Wenn es andere gibt Konfigurationen, die du von meinem Projekt benötigst, können sie gerne posten.
Vielen Dank für Ihre Zeit.
Ich habe keine Datei 'server.xml'. Mein Tomcat ist im Projekt von meiner 'pom.xml' und konfiguriert in' web.xml' Von was ich sehen kann, ist dies für, wenn wir Tomcat auf dem System installiert haben anstatt in das Projekt wie ich eingebettet haben . Wenn ich den '' in meine 'web.xml' oder' mvc-dispatcher-servlet.xml' einfügen, tut das nichts. –