加载资源的问题Spring mvc

时间:2016-11-12 17:41:41

标签: java spring spring-mvc

当我在编写网络应用程序时,我碰到了一些问题。 当我使用这样的网址 http://localhost:8080/user 我没有问题,我的应用程序正常工作,但当我使用 http://localhost:8080/some-intermediate-node/user 这样的网页时,我有网页没有任何样式和java脚本代码。 属于我显示我的调度程序servlet配置

@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 个答案:

答案 0 :(得分:1)

在你的JSP中,我怀疑javacsript / css文件大致类似于......

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

问题是hrefsrc属性指定了相对URL。当网址为http://localhost:8080/user时,他们会正确指向您的文件,但当网址为http://localhost:8080/some-intermediate-node/user时,浏览器会查找...

分别

更改hrefsrc属性,使其以正斜杠(/)字符开头。

答案 1 :(得分:0)

将CSS和javascript href更改为/ css / **和/ js / **

例如:

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

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