spring mvc text html,Spring MVC将jsp作为text/plain内容类型返回

我有Spring MVC和jsp网页的问题.

当我请求网页时,它默认返回text / plain.我尝试在HttpServletResponse控制器上手动将内容类型设置为text / html,并且Web浏览器重新协调它,正确显示它但是在主体上编码jsp标记.例:

JSP:

Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

浏览器收到:

Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

我正在使用Spring Boot和基于java web的注释进行配置.另外,我正在使用@EnableAutoConfiguration,我发现通过将sevlet从“/ *”映射到“/”来解决问题.

@Configuration

public class DispatcherConfiguration {

@Bean

public ServletRegistrationBean dispatcherRegistration() {

ServletRegistrationBean registration = new ServletRegistrationBean(dispatcherServlet());

registration.addUrlMappings("/");

registration.setLoadOnStartup(1);

System.out.println("~~~~~~~ Servlet regristated " + registration.getServletName());

return registration;

}

@Bean

public DispatcherServlet dispatcherServlet() {

return new DispatcherServlet();

}

请注意,我正在使用@Bean注释错过上一个注释链接,因为如果没有,Spring引发异常.但即使不使用bean注释,并使用xml主要问题仍然存在).

这是Spring MVC配置文件:

@Configuration

@EnableWebMvc

@ComponentScan("es.sfacut")

public class WebMvcConfiguration extends WebMvcConfigurerAdapter {

@Override

public void addViewControllers(ViewControllerRegistry registry) {

registry.addViewController("/login").setViewName("login");

registry.setOrder(Ordered.HIGHEST_PRECEDENCE);

}

// Maps resources path to webapp/resources

public void addResourceHandlers(ResourceHandlerRegistry registry) {

registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");

registry.addResourceHandler("/images/**").addResourceLocations("/resources/images/");

registry.addResourceHandler("/imgs/**")

.addResourceLocations(Constant.RESOURCE_IMAGES_PATH);

}

@Bean

public UrlBasedViewResolver setupViewResolver() {

UrlBasedViewResolver resolver = new UrlBasedViewResolver();

resolver.setPrefix("/WEB-INF/views/");

resolver.setSuffix(".jsp");

// resolver.setContentType("text/html");

resolver.setViewClass(JstlView.class);

return resolver;

}

@Override

public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {

configurer.enable();

}

@Bean

public MultipartResolver multipartResolver() {

CommonsMultipartResolver resolver = new CommonsMultipartResolver();

// Size in bytes

resolver.setMaxUploadSize(1752300);

return resolver;

}

}

主要课程:

@EnableAutoConfiguration

@ComponentScan("es.sfacut")

@EnableJpaRepositories

public class TelocomproMain {

public static void main(String[] args) {

SpringApplication.run(TelocomproMain.class,args);

}

}

控制器:

@RestController

@RequestMapping(value = "/api/")

public class CategoryController {

@RequestMapping(value="test4",method = RequestMethod.GET,produces = "text/plain;charset=UTF-8")

public ModelAndView pageTest4(HttpServletResponse response) {

ModelAndView model = new ModelAndView("elovendo/index");

response.setContentType("text/html");

response.setCharacterEncoding("UTF-8");

return model;

}

}

Application.properties:

#View resolver

spring.view.prefix= /WEB-INF/views/

spring.view.suffix= .jsp

不确定我是否遗漏了什么,我会发布你需要的一切.

先感谢您.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值