Java 正在试用Spring3MVC,出现页面错误

Java 正在试用Spring3MVC,出现页面错误,java,spring,spring-mvc,Java,Spring,Spring Mvc,试图配置spring 3 MVC,以下是我迄今为止所做的: 我将所有Spring3.0库添加到我的netbeans项目中 我的web.xml是: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.s

试图配置spring 3 MVC,以下是我迄今为止所做的:

我将所有Spring3.0库添加到我的netbeans项目中

我的web.xml是:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
    <servlet>
        <servlet-name>WebApplication1</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>WebApplication1</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>    
</web-app>
我想让它在没有任何文件扩展名的情况下工作,所以我不必用xxx.htm等来结束我的URL

因此,当我运行netbeans项目时,我得到了一个错误:

可用)不可用

我到底错过了什么

雄猫原木

谢谢你的反馈

我的tomcat日志显示:

SEVERE: Servlet /WebApplication1 threw load() exception
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
        at org.springframework.web.servlet.DispatcherServlet.<clinit>(DispatcherServlet.java:207)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
严重:Servlet/WebApplication1引发load()异常
java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
位于java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
位于org.springframework.web.servlet.DispatcherServlet。(DispatcherServlet.java:207)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

我发现您引用的错误消息是浏览器试图访问应用程序时看到的错误消息。这是因为它没有正确部署

您需要查看web服务器启动日志,这将为您提供更多关于它为什么没有部署的信息


编辑:好的,这很有帮助。。。您需要添加到类路径中。

我曾经遇到过类似的问题。。。但只有当我尝试通过STS IDE(版本2.3.2)运行SpringWebMVC应用程序时,才会发生这种情况。但是,如果我将其打包为WAR,并将其部署到运行中的tcServer实例甚至Tomcat,那么该应用程序就可以正常工作

最后,我在STS IDE的Classpath选项卡下的User Entries部分向服务器的启动配置添加了commons日志记录和一些其他JAR。这解决了我的问题。为什么一些JAR在STS中运行时没有添加到JavaEE模块依赖项中,我仍然不明白


希望这有帮助。

应用程序日志?catalina.退出?日志有帮助,请参阅修订版answer@skaffman我找到了日志文件(今天学到了一些新东西),似乎找不到类。实际上,我必须添加下载并将apache commons日志库添加到我的项目中。它具体在哪里被引用?我猜SpringMVC默认使用它?(这个页面很好用,谢谢!)spring本身包含commons-logging.jar,但我从另一个项目复制了commons-logging-1.0.4.jar。
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;


@Controller
public class TestController {


    @RequestMapping("/")
    public String welcomeHandler(){
        return "welcome";
    }

}
type Status report

message Servlet WebApplication1 is not available

description The requested resource (Servlet WebApplication1 is not
SEVERE: Servlet /WebApplication1 threw load() exception
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
        at org.springframework.web.servlet.DispatcherServlet.<clinit>(DispatcherServlet.java:207)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)