2016-11-12 3 views
0

Ich kollidierte mit einigen Problemen, als ich Web-App schrieb. Wenn ich URL wie dies http://localhost:8080/user habe ich keine Probleme und meine Anwendung richtig funktioniert, aber wenn ich URL wie http://localhost:8080/some-intermediate-node/user Ich habe Seiten ohne Stil und Java-Script-Code. Belong zeige ich meine Dispatcher Servlet-ConfigProbleme mit dem Laden von Ressourcen Spring mvc

@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages = "com.excbooks.controller") 
public class ServletConfig extends WebMvcConfigurerAdapter { 
    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/css/**").addResourceLocations("/css"); 
     registry.addResourceHandler("/js/**").addResourceLocations("/js"); 
    } 
    @Bean 
    public InternalResourceViewResolver setupViewResolver() { 
     InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
     resolver.setPrefix("/WEB-INF/views/"); 
     resolver.setSuffix(""); 
     resolver.setViewClass(JstlView.class); 
     return resolver; 
    } 
    @Override 
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { 
     configurer.enable(); 
    } 
} 

und mein Controller

@Controller 
public class MainController { 
    { 
     BasicConfigurator.configure(); 
    } 
    @RequestMapping(value = "/d/login", method = RequestMethod.GET) 
    public String login(Model model){ 
     return "log-in.html"; 
    } 
    @RequestMapping(value = "/d/user", method = RequestMethod.GET) 
    public String userProfile(Model model){ 
     User user = new User(); 
     user.setId(new BigInteger("1")); 
     user.setUsername("Sashko"); 
     model.addAttribute("user",user); 
     return "index.jsp"; 
    } 
} 

Link zu meinem JSP Index https://drive.google.com/file/d/0B42ezhAKqwZlcUEyVkR5amNIaDg/view?usp=sharing

+2

Share code von index.jsp bitte? –

+0

ok. Hier https://drive.google.com/file/d/0B42ezhAKqwZlcUEyVkR5amNIaDg/view?usp=sharing – Jungle

+0

Post das in der Frage. –

Antwort

1

Innerhalb Ihrer JSP, vermute ich, dass die javacsript/CSS-Dateien in wie ...

<link rel="stylesheet" href="css/my.css"> 
<script src="js/my.js"></script> 

Das Problem ist, dass die href und src Attribute angeben relative URLs grob gezogen werden. Sie weisen richtig auf Ihre Dateien, wenn die URL http://localhost:8080/user ist, aber wenn die URL http://localhost:8080/some-intermediate-node/user der Browser aussehen wird ist ...

sind.

Ändern Sie die Attribute href und src so, dass sie mit einem Schrägstrich (/) beginnen.

0

ändern CSS und Javascript href/css/** und/js/**

Zum Beispiel:

<link rel="stylesheet" href="/css/bootstrap.min.css"> 

<script src="/js/jquery-1.12.3.min.js"></script> 
Verwandte Themen