错误:没有找到带有 URI spring mvc 且没有 xml 的 HTTP 请求的映射
Posted
技术标签:
【中文标题】错误:没有找到带有 URI spring mvc 且没有 xml 的 HTTP 请求的映射【英文标题】:Error : No mapping found for HTTP request with URI spring mvc without xml 【发布时间】:2020-04-12 23:10:25 【问题描述】:从控制器返回 html 页面时出现此错误
org.springframework.web.servlet.PageNotFound noHandlerFound 警告:在名称为“dispatcher”的 DispatcherServlet 中找不到带有 URI [/SpringMVCDemo/WEB-INF/response.html] 的 HTTP 请求的映射
response.html 应该放在哪里?
这是我的代码
Controller class
-----------------
@Controller
public class LoginController
@RequestMapping("/login")
public ModelAndView login(@RequestParam(name = "username") String username,
@RequestParam(name = "password") String password)
String str = "Welcome " + username;
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("response");
modelAndView.addObject("response",str);
return modelAndView;
Config file
------------
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.skuba.*")
public class MvcConfig extends WebMvcConfigurerAdapter
@Bean
public ViewResolver viewResolver()
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/");
viewResolver.setSuffix(".html");
return viewResolver;
This is dispatcher controller
------------------------------
public class FrontController extends AbstractAnnotationConfigDispatcherServletInitializer
@Override
protected Class<?>[] getRootConfigClasses()
return new Class[] MvcConfig.class;
@Override
protected Class<?>[] getServletConfigClasses()
return new Class[0];
@Override
protected String[] getServletMappings()
return new String[] "/";
【问题讨论】:
【参考方案1】:假设视图文件位于正确的目录中(即“/WEB-INF/”)尝试将以下内容添加到MvcConfig
类中。
// Use the DefaultServletHandlerConfigurer
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
configurer.enable();
【讨论】:
谢谢。它正在工作。但是即使我在 JSP 中有 "isELIgnored="false"" 但它仍然显示结果:$response 这是我的结果 jsp 代码 结果:$response ` 是否意味着表达式 $response 被评估并打印在页面上?而且您不希望它被评估和打印? 是的,我正在使用键“响应”从我的 LoginController(如上面的代码)传递值。我想在 html 页面而不是 $response 中显示。已经尝试过 isELIgnored="false" "isELIgnored="false" 实际上就足够了。我无法重现您的问题。您能告诉我您使用的是哪个版本的 Spring。 春季版:4.3.3.RELEASE以上是关于错误:没有找到带有 URI spring mvc 且没有 xml 的 HTTP 请求的映射的主要内容,如果未能解决你的问题,请参考以下文章
Spring:没有为带有 URI 的 HTTP 请求找到映射
Spring 4 MVC,警告:在 DispatcherServlet 中找不到带有 URI 的 HTTP 请求的映射,名称为 [...] 和 HTTP 404 错误
Spring MVC 控制器问题:找不到带有 URI 的 HTTP 请求的映射
如何将 Spring MVC 控制器映射到带有和不带有斜杠的 uri?
获取此 org.springframework.web.servlet.DispatcherServlet noHandlerFound 错误和警告:在 Spring MVC 中未找到 HTTP 请求
使用java的spring3.05 mvc注解后出现错误:No mapping found for HTTP request with URI