我是Spring的新手,我尝试了一个带有java配置的简单mvc示例。我在请求主页时收到HTT 404错误。
Spring 4,Tomcat 8.5,Eclipse我的代码来了
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SpringProject</groupId>
<artifactId>SpringProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>SpringProject</name>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<spring.version>4.3.4.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupd>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>
分配器ervlet.java
package arnaud.spring.configuration;
public class DispatcherServletForMVC extends AbstractAnnotationConfigDispatcherServletInitializer {
protected String[] getServletMappings(){
return new String[]{"/"};
}
@Override
protected Class<?>[] getRootConfigClasses() {
System.out.println("dans initialisation root");
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
System.out.println("dans initialisation servlet");
return new Class<?>[] {WebConfig.class};
}
}
网络配置类
package arnaud.spring.configuration;
@Configuration
@EnableWebMvc
@ComponentScan(basePackages="arnaud.spring")
public class WebConfig extends WebMvcConfigurerAdapter {
//define the view resolver
@Bean
public ViewResolver viewResolver(){
System.out.println("view resolver");
InternalResourceViewResolver resolver= new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer){
configurer.enable();
System.out.println("default handling");
}
}
现在我的控制器。。。
package arnaud.spring.controllers;
@Controller
public class HomeController {
@RequestMapping(value="/",method=RequestMethod.GET)
public String home(){
System.out.println("dans controller");
return "HomePage";
}
}
我的主页。位于WEB-INF/views中的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">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix ="c" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Home Page</title>
</head>
<body>
<a ref="<c:url value="/listinvoice"/>">list invoice</a>
<a ref="<c:url value="/listinvoice/register"/>">register</a>
</body>
</html>
最后,我可以在Eclipse控制台中看到什么
火星2017年3月3日下午4:05:48。阿帕奇。公猫util。消化器。SetPropertiesRule begin AVERTISSEMENT:[SetPropertiesRule]{Server/Service/Engine/Host/Context}
将属性“source”设置为“org”。日食jst。哎呀。服务器:SpringMVCProject'未找到匹配的属性。火星2017年3月3日下午4:05:48。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:服务器版本:ApacheTomcat/8.5.6 mars 032017年4:05:48 PM org。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:服务器构建时间:2016年10月6日20:15:31 UTC mars 032017年4:05:48 PM org。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:服务器号:8.5.6.0 mars 032017年4:05:48 PM org。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:OS名称:Windows 10 mars 032017年4月5日下午4:05:48组织。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:OS版本:10.0 mars 032017年4月5日下午4:05:48组织。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:架构:amd64 mars 032017年4月5日下午4:05:48组织。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:Java主页:C:\Program Files\Java\jre1。8.0_111 mars 032017年4:05:48下午组织。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:JVM版本:1.8.0_111-b14 mars 032017 4:05:48 PM org。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志信息:JVM供应商:甲骨文公司mars 032017年4:05:48下午组织。阿帕奇。卡塔琳娜。创业。VersionLoggerListener日志mars 032017年4:05:50下午组织。阿帕奇。卡塔琳娜。果心ApplicationContext日志信息:1在类路径dans初始化根dans初始化servlet mars上检测到Spring WebApplicationInitializers 2017年3月3日下午4:05:51组织。阿帕奇。卡塔琳娜。果心ApplicationContext日志信息:正在初始化Spring FrameworkServlet“dispatcher”mars,2017年3月3日下午4:05:51组织。springframework。网状物servlet。DispatcherServlet initServletBean信息:FrameworkServlet“dispatcher”:初始化已于2017年4月3日下午4:05:51开始。springframework。网状物上下文支持注释ConfigWebApplicationContext prepareRefresh信息:刷新命名空间“dispatcher servlet”的WebApplicationContext:
启动日期[Fri Mar 03 16:05:51 CET 2017];背景层次结构的根mars 032017 4:05:51 PM org。springframework。网状物上下文支持AnnotationConfigWebApplicationContext LoadBean定义信息:注册带注释的类:[class arnaud.spring.configuration.WebConfig]mars 032017 4:05:52 PM org。springframework。网状物servlet。mvc。方法注释。RequestMappingHandlerAdapter initControllerAdviceCache信息:查找命名空间“dispatcher servlet”的@ControllerAdvice:WebApplicationContext:启动日期[2017年3月3日星期五16:05:51 CET];背景层次结构的根mars 032017 4:05:52 PM org。springframework。网状物servlet。mvc。方法注释。RequestMappingHandlerMappingRegister信息:将“{[/],methods=[GET]}”映射到公共java上。朗·斯林阿诺。Spring控制器。家庭控制器。主页()默认处理mars 2017年3月4日下午4:05:52组织。springframework。网状物servlet。汉德勒。SimpleUrlHandlerMapping registerHandler INFOS:将URL路径[/**]映射到[class org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler]类型的处理程序上查看解析程序mars 032017年4:05:53 PM org。springframework。网状物servlet。DispatcherServlet initServletBean信息:FrameworkServlet“dispatcher”:初始化于2087毫秒mars 032017年4:05:55完成。阿帕奇。贾斯珀。servlet。TldScanner scanJars信息:至少有一个JAR被扫描了TLD,但没有包含TLD。为此记录器启用调试日志记录以获取已扫描的JAR的完整列表,但未找到TLD。在扫描过程中跳过不需要的JAR可以缩短启动时间和JSP编译时间。火星2017年3月3日下午4:05:57组织。阿帕奇。郊狼。抽象协议启动信息:启动ProtocolHandler[http-nio-8085]mars 032017年4:05:57下午组织。阿帕奇。郊狼。抽象协议启动信息:启动ProtocolHandler[ajp-nio-8008]mars 032017年4:05:57下午组织。阿帕奇。卡塔琳娜。创业。Catalina启动信息:9320毫秒后服务器启动
我用下面的url调用这个页面,我的tomcat在Eclipe中位于8085端口
http://localhost:8085/SpringMVCProject/或http://localhost:8085/SpringMVCProject
结果相同:HTTP 404
非常感谢你帮我解决这个问题。
您需要在web中映射Dispatcher Servlet。xml和您的web配置类这是使用您需要替换为您的默认调度程序
<servlet>
<servlet-name>dispatch</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>arnaud.spring.configuration.WebConfig</param-value>
</init-param>
就像这样
<servlet>
<servlet-name>dispatch</servlet-name>
<servlet-class>
arnaud.spring.configuration.DispatcherServletForMVC
</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>arnaud.spring.configuration.WebConfig</param-value>
</init-param>
当我运行我的Android应用程序从eclipse,我得到这个错误。 从日蚀错误复制粘贴 然而,我的亚洲开发银行就在它说的不在的地方。 出了什么问题,如何解决? 我将cd放入adb所在的目录()中,输入adb并显示 adb是绿色的,这意味着它是可执行的,对吗? 例如,dx也是绿色的,当我在命令提示符中输入dx时,它工作了... adb怎么了?
块引号 J拥有一个包含maven父项目(parent)和子项目(Domain,Web,Win)的Eclipse工作区。父pom包含wicket-spring-boot-starter-parent
当我尝试使用或出现以下错误 JAVA错误:sun。安全ssl。SSLSessionImpl。(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/lang/String;I)V 在sun.security.ssl
问题内容: 通过扫描程序读取文件时,程序中出现运行时异常。 我的代码是: 问题答案: 与你需要检查,如果存在与下一行 所以循环变成 是读者返回null 当然在这段代码中,这取决于输入的格式是否正确
我是新的Python开发和尝试使用pipenv。我运行命令,它成功运行: 然而,当我在一个新的根项目目录中运行命令时,我收到以下消息:。我怀疑我可能需要修改我的. bashrc,但是我不清楚要向文件中添加什么,或者是否需要修改。
我用Android Studio为Unity做了一个jar插件。我的插件使用。但找不到该类。Unity的控制台向我显示了以下错误:
我不知道如何处理以下错误,我已经搜索了网络,但没有找到任何东西: 以及: 我在gradle应用程序中的依赖项:
我试图从netbeans连接到sqlite,但它没有得到我的conexion类 这是我的代码: 这是我的错误: Java语言lang.NoClassDefFoundError:Petrocabimas\u app/Conexion(错误名称:Petrocabimas\u app/Conexion)。lang.ClassLoader。在java中定义Class1(本机方法)。lang.ClassLo