2016-11-12 104 views
0

我在編寫web應用程序時遇到了一些問題。 當我使用URL這樣http://localhost:8080/user我有沒有問題,我的應用程序工作正常,但是當我使用的URL,如http://localhost:8080/some-intermediate-node/user我已經沒有任何風格和Java的腳本代碼的網頁。 屬於我展示我的dispatcher servlet配置加載資源的問題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

請分享index.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> 

的問題是hrefsrc屬性指定相對URL。他們正確地指向您的文件,網址爲http://localhost:8080/user,但是當URL是http://localhost:8080/some-intermediate-node/user瀏覽器會尋找...

分別。

更改hrefsrc屬性,以便它們以正斜槓(/)字符開頭。

0

更改CSS和JavaScript HREF到/ CSS/**和/ js/**

例如:

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

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