我们最近在做个restful风格的springMVC项目。此项目的显示终端是手机,所以数据传输是通过json格式进行的。

    但是由于需求需要在项目上用jsp显示部分页面,所以需要在项目中加入视图解析器,并将类上的@RestController注解改为@Controller注解。但是问题是项目不能访问.jsp文件,后来发现web.xml 中的配置有问题。正确配置是

        <servlet>

<servlet-name>dispatcher</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>dispatcher</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

注:不能使用<url-pattern>/*</url-pattern>  我就是这样配置导致jsp无法访问了。本以为改完后就能正确访问了呢!但是发现远没想象的简单。jsp是能访问了,但是jsp里所引用的静态文件又不能加载了,于是上网又找到如下配置:

<mvc:resources location="/pages/**" mapping="/pages/"/>

<mvc:default-servlet-handler /> 

加入后果然能访问了。但是问题依旧存在,静态资源能访问了,但是显示在页面中的中文是乱码,于是又开始百度。看见高手说:@RequestMapping(value = "/OP_InitProblem", method = RequestMethod.GET, produces = "application/json; charset=utf-8")这样配置就不会有乱码了,试了下果然好使。

    到目前为止算是能让jsp正常在项目中运行。