首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring-Rest应用程序中的404错误

Spring-Rest应用程序中的404错误
EN

Stack Overflow用户
提问于 2014-11-20 11:45:34
回答 2查看 578关注 0票数 1

我有一个简单的应用程序来显示rest+spring.but获取404个错误:在运行时,它应该将jeresey+spring作为输出web文件。

代码语言:javascript
复制
<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>Restful Web Application</display-name>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

    <servlet>
        <servlet-name>jersey-serlvet</servlet-name>
        <servlet-class>
            com.sun.jersey.spi.spring.container.servlet.SpringServlet
        </servlet-class>
        <init-param>
            <param-name>
                                 com.sun.jersey.config.property.packages
                        </param-name>
            <param-value>com.mtv.rest</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>

</web-app>

应用程序上下文文件是

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan base-package="com.mtv.rest" />

        <bean id="transactionBo" 
                  class="com.mtv.rest.TransactionBoImpl" />

</beans>

付款类别

代码语言:javascript
复制
package com.mtv.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.mtv.rest.TransactionBo;

@Component
@Path("/payment")
public class PaymentService {

    @Autowired
    TransactionBo transactionBo;

    @GET
    @Path("/mtv")
    public Response savePayment() {

        String result = transactionBo.save();

        return Response.status(200).entity(result).build();

    }

}

接口是

代码语言:javascript
复制
package com.mtv.rest;

public class TransactionBoImpl implements TransactionBo {

    public String save() {

        return "Jersey + Spring example";

    }


}

有时tomcat端口也会出错。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-21 04:00:47

  • 正确检查是否正确地添加了所有JAR文件/依赖项
  • 检查它applicationContext.xml是否在适当的位置,即在src文件夹中。

这是一些最常见的错误。

票数 1
EN

Stack Overflow用户

发布于 2014-11-20 11:53:06

尝试这样做,您需要定义一个控制器:

代码语言:javascript
复制
@Controller
@RequestMapping(value = "/payment")
public class PaymentService { // should be called PaymentController?

    @Autowired
    TransactionBo transactionBo;

    @RequestMapping(method = RequestMethod.GET, value = "/mtv")
    @ResponseBody
    public Response savePayment(HttpServletRequest request, HttpServletResponse response) {

        /// your code...

    }

}

看看这个spring展示

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

https://stackoverflow.com/questions/27038812

复制
相关文章

相似问题

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