SpringMVC Web项目升级为Springboot项目(二)

一、访问原项目地址,报404错误

由于原项目地址启动路径为http://localhost:8080/xxx

Spring boot默认启动路径为http://localhost:8080/

所以需要添加context-path配置,在application.properties中添加

server.servlet.context-path=/xxx/

即可

 

二、访问登录地址,报500错误

访问项目登录地址,报500错误,控制台中报错:

org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton.  This is an invalid application configuration.

此错误原因是未加载shiro配置文件

原项目shiro.xml配置文件在resource文件夹下,通过servlet.xml配置

由于springboot启动未加载servlet.xml中配置

所以只需要在Application类中添加

@ImportResource(locations={"classpath:shiro.xml"})

即可正确加载配置文件

 

三、程序启动后,访问页面无法正确加载css、img、js等静态资源

由于原先静态资源配置在spring-mvc.xml中

升级为springboot后,可将静态资源直接放入/resource/static/文件夹中

然后添加类MvcConfig,代码如下

package com.gauge.childheart;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class MvcConfig implements WebMvcConfigurer {

    /*资源处理器*/
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/img/**").addResourceLocations("/static/img/");
        registry.addResourceHandler("/assets/**").addResourceLocations("/static/assets/");
        registry.addResourceHandler("/css/**").addResourceLocations("/static/css/");
        registry.addResourceHandler("/js/**").addResourceLocations("/static/js/");
    }
}

即可正确加载静态资源文件

 

PS:如果生成时资源文件没有正确复制到生成目录,在pom中添加

<build>   
<resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>
    </build>

即可

posted @ 2019-04-11 17:55  朋克  阅读(875)  评论(0编辑  收藏  举报