首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >玻璃鱼移动弹簧在Tomcat上的应用

玻璃鱼移动弹簧在Tomcat上的应用
EN

Stack Overflow用户
提问于 2012-03-23 13:56:45
回答 1查看 995关注 0票数 1

我一直在使用Netbeans和Glassfish服务器开发Spring3.0 web应用程序。现在,我应该部署应用程序供公众使用,但是,在尝试从Glassfish迁移到Tomcat时,我遇到了一个错误。我的应用程序使用AJAX从应用程序中的URL获取信息,但是当我请求url时,会得到以下信息:

此请求标识的资源只能根据请求“接受”标头()生成特征不可接受的响应。

我的控制器对它所要求的信息如下所示:

代码语言:javascript
运行
复制
@RequestMapping(value = "/electricity/usage/")
public @ResponseBody List<UsageData> getEUsage(HttpSession session) {

    UsageDataDAO UsageDAO = new UsageDataDAO();

    User u = (User) session.getAttribute("user");

    List<UsageData> l = UsageDAO.getAllUsageData(u.getAccountNum(), 'e');

     return l;
}

当我迁移到Tomcat时,为什么会发生这种情况?

EN

回答 1

Stack Overflow用户

发布于 2012-03-23 17:01:20

发生此错误是因为浏览器在“接受”标题中发送给服务器的内容与服务器可以从URL /electricity/usage/返回的内容不匹配。

如果您正在使用像jQuery这样的库(而不执行跨域请求,这一点很重要),那么浏览器将发送以下accept报头:

接受:申请/json

得到该错误意味着服务器不认为URL /electicity/usage可以返回JSON响应。这是在您的webmvc-config.xml文件中配置的。这就是我与JSON请求相关的内容:

代码语言:javascript
运行
复制
<!-- allows rendering responses in XML and JSON formats -->
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver" p:order="1">
    <property name="mediaTypes">
        <map>
            <entry key="xml" value="application/xml"/>
            <entry key="json" value="application/json"/>
        </map>
    </property>
    <property name="defaultViews">
        <list>
            <bean class="org.springframework.web.servlet.view.xml.MarshallingView">
                <property name="marshaller">
                    <bean class="org.springframework.oxm.xstream.XStreamMarshaller" p:autodetectAnnotations="true"/>
                </property>
            </bean>
            <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
        </list>
    </property>
</bean>

关于在Spring:http://rwehner.wordpress.com/2010/06/09/2-ways-to-create-json-response-for-ajax-request-in-spring3/中实现JSON响应,请参阅本教程

为什么这个代码适用于玻璃鱼,而不是Tomcat -这是一个很好的问题.

如果您正在执行跨域请求,则此主题适用于:JQuery's getJSON() not setting Accept header correctly?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9840421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档