Spring mvc spring mvc视图解析配置无法显示jsp页面
我是spring mvc的新手。 运行此url时: 我听到“你好”。我希望执行hello.jsp页面并获得输出:helloworldtest123 DispatcherInitializer.java:Spring mvc spring mvc视图解析配置无法显示jsp页面,spring-mvc,Spring Mvc,我是spring mvc的新手。 运行此url时: 我听到“你好”。我希望执行hello.jsp页面并获得输出:helloworldtest123 DispatcherInitializer.java: package com.oreilly.mvc; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitia
package com.oreilly.mvc;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class DispatcherInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] {RootConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] {WebConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[] {"/"};
}
}
WebConfig.java:
package com.oreilly.mvc;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan("com.oreilly.mvc.services")
public class RootConfig {
}
package com.oreilly.mvc;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@EnableWebMvc
@ComponentScan("com.oreilly.mvc.controllers")
public class WebConfig {
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolverBean = new InternalResourceViewResolver();
viewResolverBean.setPrefix("/WEB-INF/views/");
viewResolverBean.setSuffix(".jsp");
return viewResolverBean;
}
}
MainController.java:
package com.oreilly.mvc.controllers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.oreilly.mvc.services.GreetingService;
@Controller
@RequestMapping("/main")
public class MainController {
@Autowired
public GreetingService greetingService;
@ResponseBody
@RequestMapping("/")
public String message(Model model) {
model.addAttribute("message",this.greetingService.greet());
return "hello";
}
}
hello.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Hello World Application</title>
</head>
<body>
<h1>${message} TEST123</h1>
</body>
</html>
Hello World应用程序
${message}TEST123
jsp页面hello.jsp的位置:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Hello World Application</title>
</head>
<body>
<h1>${message} TEST123</h1>
</body>
</html>
浏览器输出:
删除
@ResponseBody
注释
@ResponseBody
是一个Spring注释,它将方法返回值绑定到web响应主体。它不会被解释为视图名称。它使用HTTP消息转换器根据请求HTTP头中的内容类型将返回值转换为HTTP响应体