Ich habe ein folgendes Multi-Modul-Projekt mit Spring + Maven erstellt. Es hat folgende Hierarchie,Spring mvc + Maven multi modul + Ohr - Einsatz
Als ich bauen dieses Projekt erhalte ich cleverEE.ear Datei unter clevermoe_EE/target
. Diese Ohr Datei enthält die folgenden Dinge,
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?
Ja, es hat. Hier ist meine application.xml ' Xml version =" 1.0 "encoding =" UTF-8 "?> clevermoe_EE display-name> Ear depolyer description> clevermoe_web-0.1.war /clevermoe_web kontext- root> application> ' –
wie implementieren Sie? hast du uncommented Linie Deployments in tomee.xml und legte das Ohr in einer erstellten apps/Ordner? –
kopiert I Ohr Datei webapps Ordner und versucht. Es ist kein apps ordner in tome –