解决方案 »

  1.   

    首先,springmvc自身是可以访问WEB-INF下面的jsp文件的;
    至于怎么返回一个JSON,是直接可以response.getOutputStream().write("{'a','b'}");把json数据直接返回给前端
      

  2.   

    1、Spring可以解析WEB-INFO下面的jsp文件,只需要在dispatcher-servlet.xml中配置视图解析器即可。RequestMapping注解的方法返回一个ModelAndView即可
    <bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass"
    value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
    </bean>
    2、想隐藏真实的路径,可以使用urlrewritefilter这个工具jar包,具体使用请参考官网:tuckey.org/urlrewrite/manual/4.0/index.html
    3、Spring现在高版本可以使用RestController这个注解,该注解标记的类中所有的RequestMapping方法都将直接将结果写入response流中,如果要直接返回JSON格式的数据,做如下配置(我用的fastjson):备注(如果用Spring自带的JSON解析器,需要引入Jackson的相关jar包,不需要添加下面的配置也行)
    <mvc:annotation-driven>
    <mvc:message-converters>
    <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
    <property name="supportedMediaTypes">
    <list>
    <value>text/html;charset=UTF-8</value>
    </list>
    </property>
    </bean>
    </mvc:message-converters>
    </mvc:annotation-driven>
      

  3.   

    前后端分离:
    前后端人员双方约定好接口的数据格式,比如:前端需要调用一个用户信息的接口,数据格式为{name:'',gender:''},那么,后端人员只需要告诉他一个接口url(如:http://192.168.1.2:8080/pro/userInfo),并且将这个接口返回前端想要的数据即可,至于后端人员怎么实现这个接口,前端人员并不关心!至于前端人员要用这个接口来做什么,后端人员同样不需要关心!双方都只专注于自己需要实现的业务逻辑
      

  4.   

    额,不好意思,我现在才发现我的提问说错了。我想说的是springMVC无法访问WEB-INF下的HTML资源。