簡體   English   中英

錯誤404 Spring-MVC

[英]Error 404 Spring-MVC

我正在嘗試spring-mvc和json。

我的項目拱門是

src
--main
----java
----resource
----webapp
------WEB-INF
--------web.xml
--------jodoCmsDispatcher-servlet.xml

我只有一個普通控制器

public class CategoryController {   
    @RequestMapping(value = "/kfc", method = RequestMethod.GET)
    public @ResponseBody Shop addCategory(HttpServletResponse response, @PathVariable("parentid") String parentCategoryId, @PathVariable("newcategorytitle") String newcategorytitle )
    {
        Shop shop = new Shop();
        shop.setName("Testing");
        shop.setStaffName(new String[]{"11", "22"});
        return shop;
    }
}

web.xml中

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB_INF/jodoCmsDispatcher-servlet.xml</param-value>
</context-param>

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

<servlet>
    <servlet-name>jodoCmsDispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jodoCmsDispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

jodoCmsDispatcher-servlet.xml中

.
.
<context:component-scan base-package="com.jodo.cms.controllers" />
<mvc:annotation-driven />

我嘗試了以下網址(每次都有404)

localhost - - [05/Apr/2014:11:43:41 +0530] "GET /jodocms/kfc/ HTTP/1.1" 404 949
localhost - - [05/Apr/2014:11:44:20 +0530] "GET /jodocms/kfc HTTP/1.1" 404 949
localhost - - [05/Apr/2014:11:44:24 +0530] "GET /jodocms/ HTTP/1.1" 404 949

如localhost:8080 / manager所示,項目已成功在tomcat中部署

我正在嘗試發送json數據,並遵循“ http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/
我想念什么?
謝謝

這不是真的需要

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB_INF/jodoCmsDispatcher-servlet.xml</param-value>
</context-param>

由於DispatcherServlet默認情況下加載jodoCmsDispatcher-servlet.xml,因此刪除這些行,該配置僅用於添加另一個applicationContext文件。

並且CategoryController必須標記有@Controller才能進行掃描

也考慮改變

<context:component-scan base-package="com.jodo.cms.controllers" />

<context:component-scan base-package="com.jodo.cms" />

嘗試移除..

@PathVariable("parentid") String parentCategoryId,
@PathVariable("newcategorytitle") String newcategorytitle

由於您的網址不正確,這些會導致沖突,因此請保留該方法。

  @RequestMapping(value = "/kfc", method = RequestMethod.GET)
    public @ResponseBody Shop addCategory(HttpServletResponse response)
    {
        Shop shop = new Shop();
        shop.setName("Testing");
        shop.setStaffName(new String[]{"11", "22"});
        return shop;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM