2016-03-29 2 views
1

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.

Antwort

0

Um die Eingabe im Hafen in den Browser überspringen Sie tomcat auf Port laufen ändern können 80 (siehe How to change the port of Tomcat from 8080 to 80?)

Apps Subdomains Karte Apache Erwägen Sie (die auch den ersten Teil Ihrer Frage durchführen kann. siehe http://squirrel.pl/blog/2010/03/30/mapping-tomcat-apps-to-subdomains-with-apache/)

+0

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

Verwandte Themen