嗨在我的春天mvc webapp中,请求没有到达控制器,显示404.Here是我的tomcat日志。 无法理解究竟是什么问题,因为没有编译时错误。我已经经历了其他几个帖子,其中可能的问题是java版本问题,但我也检查过,我的java版本是1.7 in pom .xml和java编译器。我已经完成了maven clean和build,仍然存在问题。
警告:[SetPropertiesRule] {服务器/服务/引擎/主机/上下文} 设置属性' source' to' org.eclipse.jst.jee.server:syllabusNew' 没有找到匹配的财产。 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:服务器版本:Apache Tomcat / 8.0.28 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:服务器内置:2015年10月7日18:25:21 UTC 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:服务器编号:8.0.28.0 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:操作系统名称:Windows 7 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:操作系统版本:6.1 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:架构:x86 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:Java主页:C:\ Program Files \ Java \ jdk1.7.0_02 \ jre 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:JVM版本:1.7.0_02-b13 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:JVM供应商:Oracle Corporation 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:CATALINA_BASE:D:\ Syllabus Magt.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:CATALINA_HOME:C:\ Program Files \ Apache Software Foundation \ Tomcat 8.0 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 INFO:命令行参数:-Dcatalina.base = D:\ Syllabus Magt.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 信息:命令行参数:-Dcatalina.home = C:\ Program Files \ Apache Software Foundation \ Tomcat 8.0 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 INFO:命令行参数:-Dwtp.deploy = D:\ Syllabus Magt.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 INFO:命令行参数:-Djava.endorsed.dirs = C:\ Program Files \ Apache Software Foundation \ Tomcat 8.0 \ endorsed 2018年3月13日上午8:44:34 org.apache.catalina.startup.VersionLoggerListener日志 INFO:命令行参数:-Dfile.encoding = Cp1252 发布时间:2011年3月13日上午8:44:34 org.apache.catalina.core.AprLifecycleListener lifecycleEvent 信息:没有找到基于APR的Apache Tomcat Native库,它可以在生产环境中实现最佳性能 java.library.path:C:\ Program 文件\的Java \ jdk1.7.0_02 \ BIN; C:\ WINDOWS \太阳\的Java \ BIN; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C:/程序 文件/的Java / jre1.8.0_162 /斌/客户端; C:/程序 文件/的Java / jre1.8.0_162 /箱; C:/程序 文件/的Java / jre1.8.0_162 / lib中/ I386,C:\ ProgramData \ ORACLE \的Java \ javapath; C:\ oraclexe \程序\ ORACLE \产品\ 10.2.0 \服务器\ BIN; C:\ Windows \ System32下; C:\ WINDOWS; C:\ WINDOWS \ SYSTEM32 \ WBEM; C:\ WINDOWS \ SYSTEM32 \ WindowsPowerShell \ V1.0 \; C:\ PROGRAM Files \ Intel \ OpenCL SDK \ 2.0 \ bin \ x86; C:\ Program 文件\爪哇\ jdk1.7.0_02 \ BIN; C:\蚀-JEE-MARS -2- win32的\蚀;;。 2018年3月13日上午8:44:35 org.apache.coyote.AbstractProtocol init 信息:初始化ProtocolHandler [" http-nio-8080"] 2018年3月13日上午8:44:35 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 信息:使用共享选择器进行servlet写/读 2018年3月13日上午8:44:35 org.apache.coyote.AbstractProtocol init 信息:初始化ProtocolHandler [" ajp-nio-8009"] 2018年3月13日上午8:44:35 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 信息:使用共享选择器进行servlet写/读 2018年3月13日上午8:44:35 org.apache.catalina.startup.Catalina load 信息:初始化在1112毫秒内处理 发布时间:2011年3月13日上午8:44:35 org.apache.catalina.core.StandardService startInternal 信息:开始服务Catalina 发布时间:2011年3月13日上午8:44:35 org.apache.catalina.core.StandardEngine startInternal 信息:启动Servlet引擎:Apache Tomcat / 8.0.28 2018年3月13日上午8:44:41 org.apache.jasper.servlet.TldScanner scanJars 信息:至少有一个JAR被扫描用于TLD但尚未包含TLD。为此记录器启用调试日志记录以获取完整记录 已扫描但未在其中找到TLD的JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间 JSP编译时间。 2018年3月13日上午8:44:41 org.apache.catalina.core.ApplicationContext log 信息:没有在类路径上检测到Spring WebApplicationInitializer类型 2018年3月13日上午8:44:41 org.apache.coyote.AbstractProtocol开始 信息:启动ProtocolHandler [" http-nio-8080"] 2018年3月13日上午8:44:41 org.apache.coyote.AbstractProtocol开始 信息:启动ProtocolHandler [" ajp-nio-8009"] 2018年3月13日上午8:44:41 org.apache.catalina.startup.Catalina开始 信息:服务器启动时间为6044毫秒
这是调度程序servlet。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc" 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/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- Specifying base package of the Components like Controller, Service,
DAO -->
<context:component-scan base-package="com.syllabus" />
<!-- Getting Database properties -->
<context:property-placeholder location="/resources/db.properties" />
<mvc:annotation-driven />
<!-- Specifying the Resource location to load JS, CSS, Images etc -->
<mvc:resources mapping="/resources/**" location="/resources/" />
<!-- View Resolver -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- DataSource -->
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource"
id="dataSource">
<property name="driverClassName" value="${database.driver}"></property>
<property name="url" value="${database.url}"></property>
<property name="username" value="${database.user}"></property>
<property name="password" value="${database.password}"></property>
</bean>
<!-- Hibernate SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
</props>
</property>
<property name="configLocation" value="classpath:hibernate-cfg.xml" />
<property name="packagesToScan" value="com.syllabus.entity"></property>
</bean>
<!-- Transaction -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
</beans>
我的web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Servlet 3.0 Web Application</display-name>
<display-name>My Project</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
控制器:
package com.syllabus.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class LoginController {
@RequestMapping("/login")
public ModelAndView showMessage() {
System.out.println("in controller");
ModelAndView mv = new ModelAndView("login");
return mv;
}
}
的index.jsp
<html>
<body>
<h2>Hello World!</h2>
<a href="login">Click here to login</a>
</body>
</html>
的login.jsp:
<html>
<body>
<h2>Hello World!</h2>
Welcome
</body>
</html>