我试图使用spring MVC编写一个hello world代码,但我收到了这个错误:
AVERTISSEMENT:找不到带URI的HTTP请求的映射 DispatcherServlet中的[/ springmvc / hello],名称为' dispatcher'
index.jsp:
<html>
<body>
<form action="/springmvc/hello">
Nom :<br> <input name="nom">
</form>
</body>
</html>
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>
/WEB-INF/dispatcher-servlet.xml</param-value>
<description>Description</description>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<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>/</url-pattern>
</servlet-mapping>
</web-app>
dispatcher-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" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<context:component-scan base-package="springmvc.controller"></context:component-scan>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
的hello.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<br>
${message} :${nom}
</body>
</html>
HelloWorldController.java:
package springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.Mapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HelloWorldController {
String message = "Bienvenu dans mon premier exemple de spring mvc";
@RequestMapping("/hello")
public ModelAndView afficherMessager(@RequestParam(value="nom",defaultValue="World") String nom){
ModelAndView modelAndView=new ModelAndView("Hello World");
modelAndView.addAllObjects("nom",nom);
modelAndView.addAllObjects("message"message);
return modelAndView;
}
}
日志:
juil. 30, 2017 3:05:36 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
AVERTISSEMENT: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:springmvc' did not find a matching property.
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Server version: Apache Tomcat/8.0.44
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Server built: May 10 2017 17:21:09 UTC
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Server number: 8.0.44.0
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: OS Name: Windows 10
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: OS Version: 10.0
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Architecture: amd64
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Java Home: C:\Program Files\Java\jdk1.8.0_131\jre
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: JVM Version: 1.8.0_131-b11
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: JVM Vendor: Oracle Corporation
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: CATALINA_BASE: C:\Users\Adem\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: CATALINA_HOME: C:\Users\Adem\Desktop\eclipse\apache-tomcat-8.0.44
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Command line argument: -Dcatalina.base=C:\Users\Adem\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Command line argument: -Dcatalina.home=C:\Users\Adem\Desktop\eclipse\apache-tomcat-8.0.44
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Command line argument: -Dwtp.deploy=C:\Users\Adem\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Command line argument: -Djava.endorsed.dirs=C:\Users\Adem\Desktop\eclipse\apache-tomcat-8.0.44\endorsed
juil. 30, 2017 3:05:36 AM org.apache.catalina.startup.VersionLoggerListener log
INFOS: Command line argument: -Dfile.encoding=Cp1252
juil. 30, 2017 3:05:36 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFOS: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_131\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_131/bin/server;C:/Program Files/Java/jre1.8.0_131/bin;C:/Program Files/Java/jre1.8.0_131/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\OpenVPN\bin;C:\Users\Adem\AppData\Local\Microsoft\WindowsApps;C:\Program Files\GPAC;C:\Program Files\GPAC;C:\Users\Adem\Desktop\eclipse;;.
juil. 30, 2017 3:05:36 AM org.apache.coyote.AbstractProtocol init
INFOS: Initializing ProtocolHandler ["http-nio-8080"]
juil. 30, 2017 3:05:37 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFOS: Using a shared selector for servlet write/read
juil. 30, 2017 3:05:37 AM org.apache.coyote.AbstractProtocol init
INFOS: Initializing ProtocolHandler ["ajp-nio-8009"]
juil. 30, 2017 3:05:37 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFOS: Using a shared selector for servlet write/read
juil. 30, 2017 3:05:37 AM org.apache.catalina.startup.Catalina load
INFOS: Initialization processed in 1534 ms
juil. 30, 2017 3:05:37 AM org.apache.catalina.core.StandardService startInternal
INFOS: Démarrage du service Catalina
juil. 30, 2017 3:05:37 AM org.apache.catalina.core.StandardEngine startInternal
INFOS: Starting Servlet Engine: Apache Tomcat/8.0.44
juil. 30, 2017 3:05:42 AM org.apache.jasper.servlet.TldScanner scanJars
INFOS: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
juil. 30, 2017 3:05:42 AM org.apache.catalina.core.ApplicationContext log
INFOS: No Spring WebApplicationInitializer types detected on classpath
juil. 30, 2017 3:05:42 AM org.apache.catalina.core.ApplicationContext log
INFOS: Initializing Spring root WebApplicationContext
juil. 30, 2017 3:05:42 AM org.springframework.web.context.ContextLoader initWebApplicationContext
INFOS: Root WebApplicationContext: initialization started
juil. 30, 2017 3:05:42 AM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
INFOS: Refreshing Root WebApplicationContext: startup date [Sun Jul 30 03:05:42 CEST 2017]; root of context hierarchy
juil. 30, 2017 3:05:42 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFOS: Loading XML bean definitions from ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
juil. 30, 2017 3:05:45 AM org.springframework.web.context.ContextLoader initWebApplicationContext
INFOS: Root WebApplicationContext: initialization completed in 2638 ms
juil. 30, 2017 3:05:45 AM org.apache.catalina.core.ApplicationContext log
INFOS: Initializing Spring FrameworkServlet 'dispatcher'
juil. 30, 2017 3:05:45 AM org.springframework.web.servlet.DispatcherServlet initServletBean
INFOS: FrameworkServlet 'dispatcher': initialization started
juil. 30, 2017 3:05:45 AM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
INFOS: Refreshing WebApplicationContext for namespace 'dispatcher-servlet': startup date [Sun Jul 30 03:05:45 CEST 2017]; parent: Root WebApplicationContext
juil. 30, 2017 3:05:45 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFOS: Loading XML bean definitions from ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
juil. 30, 2017 3:05:45 AM org.springframework.web.servlet.DispatcherServlet initServletBean
INFOS: FrameworkServlet 'dispatcher': initialization completed in 327 ms
juil. 30, 2017 3:05:45 AM org.apache.coyote.AbstractProtocol start
INFOS: Starting ProtocolHandler ["http-nio-8080"]
juil. 30, 2017 3:05:45 AM org.apache.coyote.AbstractProtocol start
INFOS: Starting ProtocolHandler ["ajp-nio-8009"]
juil. 30, 2017 3:05:45 AM org.apache.catalina.startup.Catalina start
INFOS: Server startup in 8334 ms
juil. 30, 2017 3:05:52 AM org.springframework.web.servlet.PageNotFound noHandlerFound
AVERTISSEMENT: No mapping found for HTTP request with URI [/springmvc/hello] in DispatcherServlet with name 'dispatcher'
由于
答案 0 :(得分:0)
您在<mvc:annotation-driven/>
中使用Dispatcher-servlet
。