简体   繁体   中英

Spring MVC with EXT JS error: DispatcherServlet noHandlerFound

I am trying to get a simple EXT JS form to appear on my tomcat but i am getting the following error:

17-Apr-2012 10:46:09 org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/helloworld/service/web/js  /restful.css] in DispatcherServlet with name 'rest'
17-Apr-2012 10:46:09 org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/helloworld/service/web/js/restful.js] in DispatcherServlet with name 'rest'

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
<display-name>Archetype Created Web Application</display-name>

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


<!-- This listener will load other application context file in addition to 
        rest-servlet.xml -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

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

<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>

</web-app>

rest-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

<context:component-scan base-package="com.fexco.helloworld.web" />

<mvc:annotation-driven />

   <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
          <property name="messageConverters">
                 <list>
                       <ref bean="jsonConverter" />
                 </list>
          </property>
   </bean>

   <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
          <property name="supportedMediaTypes" value="application/json" />
   </bean>

   <bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
        <value>/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

I am calling the restful.css and restful.js classes from the index.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<%@ page contentType="text/html; charset=ISO-8859-1"%>

<html>

<head>
<link rel="stylesheet" type="text/css" href="/webapp/js/restful.css" />
<script type="text/javascript" src="/webapp/js/restful.js"></script>
</head>

<body>
<h1>This is used to display EXT objects</h1>
</body>

</html>

directory structure

这是我的目录的结构

I cant seem to solve this error, my index.jsp is appearing on the page alright but no EXT form is appearing, I have looked at similar problems online and all there solutions are in mine at the moment so this not the same errors.

Does anybody have any ideas?

Currently you refer to your static files ( .js and .css ) by relative paths. It doesn't make sense, because location of these files doesn't depend on location of the page being displayed.

You need to use absolute paths instead. You can use <c:url> to construct absolute paths that include context path of your application (so, they're correct no matter where your application is deployed):

<link rel="stylesheet" type="text/css" href="<c:url value = '/js/restful.css' />" />
<script type="text/javascript" src="<c:url value = '/js/restful.js' />"></script> 

Try this..

<link rel="stylesheet" type="text/css" href="/js/restful.css" />
<script type="text/javascript" src="/js/restful.js"></script>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM