2016-11-12 2 views
0

Я столкнулся с некоторыми проблемами при написании веб-приложения. Когда я использовать URL, как этот http://localhost:8080/user у меня нет никаких проблем, и мое приложение работает правильно, но когда я использую URL такие, как http://localhost:8080/some-intermediate-node/user У меня есть страницы, без какого-либо стиля и ява-скрипт кода. Belong я показать свою диспетчерскую сервлета конфигурацииПроблемы с загрузкой ресурсов 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(); 
    } 
} 

и мой контроллер

@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"; 
    } 
} 

Ссылка на мой индекс JSP https://drive.google.com/file/d/0B42ezhAKqwZlcUEyVkR5amNIaDg/view?usp=sharing

+2

Поделиться кодом индекса.jsp пожалуйста? –

+0

ОК. Здесь https://drive.google.com/file/d/0B42ezhAKqwZlcUEyVkR5amNIaDg/view?usp=sharing – Jungle

+0

Опубликовать это в вопросе. –

ответ

1

В вашей JSP, я подозреваю, что javacsript/CSS файлы подтянуты примерно как ...

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

Вопрос заключается в том, что href и src атрибуты определяют относительные URL. Они правильно указывают на ваши файлы, когда URL является http://localhost:8080/user, но когда URL является http://localhost:8080/some-intermediate-node/user браузер будет искать ...

соответственно.

Измените атрибуты href и src так, чтобы они начинались с косой черты (/).

0

Изменение CSS и Javascript HREF к/CSS/** и/js/**

Например:

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

<script src="/js/jquery-1.12.3.min.js"></script> 
Смежные вопросы