java – 带有JSON的Spring 3.1 REST:不工作

前端之家收集整理的这篇文章主要介绍了java – 带有JSON的Spring 3.1 REST:不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一旦我将测试应用程序移动到高效(?)应用程序并开始在Tomcat上进行测试,我的基于Spring 3.1的REST服务就停止了工作.虽然显示了默认的index.jsp,但我的应用程序(http:// myhost:myport / test-webapp / myrestservice)无法访问,我得到了所请求的资源(/ test-webapp / myrestservice)不可用.

这是我做的:

控制器:

package com.test.webapp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.test.webap.entity.Account;

@Controller
@RequestMapping("/myrestservice")
public class AccountController{

@RequestMapping(method = RequestMethod.GET,produces="application/json")
@ResponseBody
public Account getEntity() {
            // ... 

Dispatch Servlet配置:

package com.test.webapp.web;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;

import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;   
import com.test.webapp.config.AppConfig;

public class AppInit implements WebApplicationInitializer {

    private static final String DISPATCHER_SERVLET_NAME = "dispatcher";

    public void onStartup(ServletContext container) throws ServletException {
        // Create the dispatcher servlet's Spring application context
        AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext();
        dispatcherContext.register(AppConfig.class);

        // Manage the lifecycle of the root application context
        container.addListener(new ContextLoaderListener(dispatcherContext));

        // Register and map the dispatcher servlet
        ServletRegistration.Dynamic dispatcher = container.addServlet(
                DISPATCHER_SERVLET_NAME,new DispatcherServlet(dispatcherContext));
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/");

    }
}

配置类:

package com.test.webapp.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan( basePackages = {"com.test.webapp.controller"})
public class AppConfig{
    // Nothing here. Once I start using the beans,I will put them here
}

并且,web.xml中没有太多内容

在我的项目中除此之外没有任何东西.我错过了什么吗?旧项目更像是记录传入的JSON请求等(现已被删除)正在运行,但我不再拥有它了(所以,很多新手布鲁斯.请在这里帮助我.非常感谢! !

更新
问题已解决.检查答案

最佳答案
您在生产环境中使用的是什么版本的Tomcat?看起来你需要Tomcat 7来获得支持WebApplicationInitializer所需的Servlet 3.0规范实现.
原文链接:https://www.f2er.com/spring/431462.html

猜你在找的Spring相关文章