2011-12-24 75 views
1

我下面这个教程设置春天在我的系统,http://www.roseindia.net/spring/spring-mvc-hello-world.shtml简单的Spring应用。错误与运行

这里是我的web.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 

<web-app version="2.5" 
    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_5.xsd" > 
    <servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

调度-servlet.xml中:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    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.xsd"> 
    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix"> 
     <value>/WEB-INF/jsp/</value> 
    </property> 
    <property name="suffix"> 
    <value>.jsp</value> 
    </property> 
    </bean> 
    <bean id="urlMapping" 
     class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="interceptors"> 
     <list> 
     <ref local="localeChangeInterceptor"/> 
     </list> 
    </property> 
    <property name="urlMap"> 
     <map> 
     <entry key="/hello.html"> 
      <ref bean="helloController"/> 
     </entry> 
     </map> 
    </property> 
    </bean> 
    <bean id="helloController" class="net.roseindia.web.HelloWorldController"> </bean> 
    <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
    <property name="paramName" value="hl"/> 
    </bean> 
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/> 
</beans> 

我收到此错误:

HTTP Status 404 - Servlet dispatcher is not available 

-------------------------------------------------------------------------------- 

type Status report 

message Servlet dispatcher is not available 

description The requested resource (Servlet dispatcher is not available) is not available. 

可能是什么问题?我已经通过项目构建路径以及web-inf的lib文件夹添加了库。

+5

我会非常谨慎的事情我在玫瑰印度发现。正如你已经发现的那样,我认为这不是一个很好的学习场所。你为什么不去Spring的网站学习他们的东西?在你使用Spring 3时使用它;他们现在已经达到了3.1版本。 – duffymo 2011-12-24 16:23:51

回答

2

将web应用程序的日志记录级别为DEBUG,并期待在由Spring产生的,因为它直径达web应用程序的日志信息和调度请求。这应该给你一些线索,告诉你哪里出了问题。

可我也建议您使用官方的春天手册,教程和示例。玫瑰印度的东西看起来像一个配方,而不是一个适当的教程。它没有解释发生了什么。

+0

好吧..我已经安装了它早些时候..但它的新系统现在,我遵循相同的步骤,但不能真正明白什么是错误的...你给出了一个很好的调试建议..现在就试试吧,让你知道。 – Maverick 2011-12-24 15:08:51

+0

调试器显示我'这个抛出新的ClassNotFoundException(名);'在URLClassLoader.class – Maverick 2011-12-24 15:11:23

+0

@mad_programmer - 在这种情况下,这是某种形式的类路径问题。见Aravind的答案。如果您已经正确构建了WAR文件,那么当Web容器解压WAR文件时,所有依赖JAR都将被安装到'WEB-INF/lib'目录中。 – 2011-12-25 07:41:40

0

这应该是一个类路径的问题。你能检查Spring-web jar是否在你创建的WAR中。它必须在web-inf lib内部。如果你可以在那里找到它,打开它并检查是否有必要的DispatcherServlet文件。如果没有,您还没有正确添加依赖关系。

+0

我已经添加了弹簧dist文件夹内的库,但通过构建路径。并且还复制了web-inf/lib中的所有jar文件。 – Maverick 2011-12-24 15:06:23

+1

您是否检查过创建的WAR - 如果没有,我建议您打开was,看看lib文件是否已经进入。 – 2011-12-24 15:27:40