2016-04-13 8 views
0

Ich habe eine Federmvc-Anwendung läuft gut mit Tomcat.Weblogic 12.2.1, Links Fehler

Aber wenn ich versuche, mit Weblogic laufen nicht umleiten.

Beispiel: hat mein jsp einen Link: <a href="new">New User</a>

Mein Controller fangen die url:

@RequestMapping(value = { "/new" }, method = { org.springframework.web.bind.annotation.RequestMethod.GET }) 
    public ModelAndView newUser() { 
     ModelAndView model = new ModelAndView("UserForm"); 
     model.addObject("user", new User()); 
     return model; 
    } 

Dieser Lauf auf Kater, aber wenn ich mit WebLogic er auf "http://localhost:7001/new" redirect versuchen und muss sei "http://localhost:7001/HibernateJavaBased/new"

Wie kann ich den Weblogic-Server einrichten?

UPDATE 1: meine App ist Java-Config dies der Initialisierer ist

public class SpringWebAppInitializer implements WebApplicationInitializer { 

    public void onStartup(ServletContext container) throws ServletException { 

     AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); 
     ctx.register(ApplicationContextConfig.class); 
     ctx.setServletContext(container); 

     ServletRegistration.Dynamic servlet = container.addServlet("dispatcher", new DispatcherServlet(ctx)); 
     servlet.setLoadOnStartup(1); 
     servlet.addMapping("/"); 
     System.out.println(ctx.getServletContext().getContextPath()); 

     servlet.setInitParameter("contextClass", ctx.getClass().getName()); 
     container.addListener(new ContextLoaderListener(ctx)); 
    } 
} 

Und die AppConfig:

@Configuration 
@EnableWebMvc 
@ComponentScan({ "net.codejava.spring" }) 
@EnableTransactionManagement 
public class ApplicationContextConfig extends WebMvcConfigurerAdapter { 

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

Antwort

0

vielleicht auf tomcat Sie den Kontextstamm konfiguriert haben. Sie können das Kontextstammverzeichnis auch in der Weblogik mit der Datei weblogic.xml konfigurieren. Wenn Sie noch keine Datei weblogic.xml haben, erstellen Sie eine neue Datei weblogic.xml im Verzeichnis/WEB-INF /.

<?xml version="1.0" encoding="UTF-8"?> 

<wls:weblogic-web-app 
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" 
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/ejb-jar_3_0.xsd 
http://xmlns.oracle.com/weblogic/weblogic-web-app 
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> 

    <wls:weblogic-version>12.2.1</wls:weblogic-version> 
    <wls:context-root>HibernateJavaBased</wls:context-root> 
</wls:weblogic-web-app> 

hoffe, das hilft

+0

thx für die Antwort aber nicht funktionieren. Ich lasse die App laufen, wenn ich den Kontextstamm wie "HibernateJavaBased /" setze, aber ich kann den Grund nicht verstehen, warum Weblogic diese Änderung benötigt. – Gwaihir

+0

Können Sie auch Ihre web.xml posten? –

+0

aktualisieren Sie den Hauptbeitrag. läuft mit Tomcat und Weblogic, Tomcat fügen einen Schrägstrich und Weblogic dont ... – Gwaihir