2016-11-10 4 views
0

Ich habe ein folgendes Multi-Modul-Projekt mit Spring + Maven erstellt. Es hat folgende Hierarchie,Spring mvc + Maven multi modul + Ohr - Einsatz

enter image description here

Als ich bauen dieses Projekt erhalte ich cleverEE.ear Datei unter clevermoe_EE/target. Diese Ohr Datei enthält die folgenden Dinge,

enter image description here

Anfangs verwendete ich JBoss7.1.1 AS Einsatz, also ich kopiert diese Ohr-Datei auf JBoss depolyments, ich bin in der Lage, den Krieg zu laden, wie folgt,

http://localhost:8080/clevermoe_web

ich diesen Link folgen Frühjahr Projekt zu machen, http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example-annotation/

So habe ich die folgenden Klassen in clevermoe_web Modul,

SpringWebConfig,

@EnableWebMvc // mvc:annotation-driven 
@Configuration 
@ComponentScan({ "com.zeptoh.clever.controllers" }) 
public class SpringWebConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**").addResourceLocations(
       "/resources/"); 
    } 

    @Bean 
    public InternalResourceViewResolver viewResolver() { 
     InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
     viewResolver.setViewClass(JstlView.class); 
     viewResolver.setPrefix("/WEB-INF/views/jsp/"); 
     viewResolver.setSuffix(".jsp"); 
     return viewResolver; 
    } 

MyWebInitializer Klasse

public class MyWebInitializer extends 
     AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     // TODO Auto-generated method stub 
     return new Class[] { SpringWebConfig.class }; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     // TODO Auto-generated method stub 
     return new String[] { "/" }; 
    } 

} 

Controller-Klasse,

@Controller 
public class HelloController { 

    @RequestMapping(value = "/", method = RequestMethod.GET) 
    public String printWelcome(ModelMap model) { 
     model.addAttribute("message", "Clever Portal"); 
     return "hello"; 
    } 

    @RequestMapping(value = "/hello/{name:.+}", method = RequestMethod.GET) 
    public ModelAndView hello(@PathVariable("name") String name) { 
     ModelAndView model = new ModelAndView(); 
     model.setViewName("hello"); 
     model.addObject("msg", name); 
     return model; 
    } 

} 

I offene Feder Controller kippe wie folgt,

http://localhost:8080/clevermoe_web/hello/something

Es sagt 404 Fehler

HTTP Status 404 - /clevermoe_web/hello/something 

type Status report 

message /clevermoe_web/hello/something 

description The requested resource (/clevermoe_web/hello/something) is not available. 

JBossWeb/2.0.1.GA 

ich einige Artikel gelesen, die besagt, Ohr Einsatz zugreifen zu können, ist es nicht gut bewegen JBoss zu verwenden. Also habe ich TomEE Server heruntergeladen. Es extrahiert die EAR-Datei in einen Ordner. Aber ich habe das gleiche Problem wie in JBoss gefunden.

Ich kopierte die Kriegsdatei (cleverwoe_web.war) in der cleverEE.ear im Webapps-Ordner des TomEE-Servers, es funktioniert gut, um auf den Federcontroller zuzugreifen.

Ich kopierte die Kriegsdatei (cleverwoe_web.war) in der cleverEE.ear in JBoss, Aber es zeigt immer noch 404 Fehler.

Kann jemand sagen, worauf ich hier aufpassen muss?

Antwort

-1

Funktioniert http://localhost:8080/clevermoe_web-0.1/hello/something? Wenn Sie den Kriegskontext nicht in der Datei "application.xml" in META-INF abbilden, ist dies der verwendete Kontext (aus dem Warennamen)

+0

Ja, es hat. Hier ist meine application.xml ' clevermoe_EE Ear depolyer clevermoe_web-0.1.war /clevermoe_web ' –

+0

wie implementieren Sie? hast du uncommented Linie Deployments in tomee.xml und legte das Ohr in einer erstellten apps/Ordner? –

+0

kopiert I Ohr Datei webapps Ordner und versucht. Es ist kein apps ordner in tome –