SpringMvc配置问题

ssm注解版配置

配置如下

package top.redheart.templet.company;

import ch.qos.logback.core.spi.LogbackLock;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.DispatcherServlet;
import top.redheart.templet.company.config.MvcConfig;
import top.redheart.templet.company.config.TemplesConfig;

import javax.servlet.*;

/**
 * @author Administrator
 */
public class WebAppInitializer implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {

        //创建springcontextlister上下文监听器
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        context.register(TemplesConfig.class);
        servletContext.addListener(new ContextLoaderListener(context));

        //创建dispatcher
        AnnotationConfigWebApplicationContext dispatcherServlet = new AnnotationConfigWebApplicationContext();
        dispatcherServlet.register(MvcConfig.class);
        ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", new DispatcherServlet(dispatcherServlet));
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/*");//注意此处多了一个*

        //创建字符过滤
        FilterRegistration.Dynamic encodingFilter = servletContext.addFilter("encodingFilter", new CharacterEncodingFilter());
        encodingFilter.setInitParameter("encoding", "UTF-8");
        encodingFilter.setInitParameter("forceEncoding", "true");
        encodingFilter.addMappingForUrlPatterns(null, false, "/*");

        //添加日志文件

        //开启multipart格式支持
        MultipartConfigElement multipartConfigElement = new MultipartConfigElement(servletContext.getRealPath(""));
        dispatcher.setMultipartConfig(multipartConfigElement);
    }
}

  出现的问题

DEBUG [2019-08-05 17:41:55,261][] org.springframework.core.log.LogFormatUtils:91 - GET "/hello", parameters={} 
DEBUG [2019-08-05 17:41:55,269][] org.springframework.web.servlet.handler.AbstractHandlerMapping:420 - Mapped to public java.lang.String top.redheart.templet.company.controller.IndexController.hello() 
INFO  [2019-08-05 17:41:55,287][] top.redheart.templet.company.controller.IndexController:19 - [访问hello] 
DEBUG [2019-08-05 17:41:55,310][] org.springframework.web.servlet.view.AbstractView:309 - View name 'hello', model {} 
DEBUG [2019-08-05 17:41:55,320][] org.springframework.web.servlet.view.InternalResourceView:168 - Forwarding to [/WEB-INF/jsp/hello.jsp] 
DEBUG [2019-08-05 17:41:55,323][] org.springframework.core.log.LogFormatUtils:91 - "FORWARD" dispatch for GET "/WEB-INF/jsp/hello.jsp", parameters={} 
WARN  [2019-08-05 17:41:55,327][] org.springframework.web.servlet.DispatcherServlet:1249 - No mapping for GET /WEB-INF/jsp/hello.jsp 
DEBUG [2019-08-05 17:41:55,327][] org.springframework.web.servlet.FrameworkServlet:1126 - Exiting from "FORWARD" dispatch, status 404 
DEBUG [2019-08-05 17:41:55,328][] org.springframework.web.servlet.FrameworkServlet:1130 - Completed 404 NOT_FOUND 

  换过很多方式去处理,都不能解决问题,

既然是报的No mapping,也就是说没有找到或者没有拦截到对应的controller

那么就有可能是拦截路径有问题,

抱着试试看的态度,把上边标注的多余的*号去掉,拦截路径变为/

问题解决

原文地址:https://www.cnblogs.com/yjp372928571/p/11304467.html