Java spring mvc 3.0小型web应用程序不太正常
我正在使用SpringMVC3.0创建一个非常简单(HelloWorldQuality)的web应用程序。在tomcat 6.0.26上部署应用程序时,我尝试打开 我得到404,resource/protoweb/WEB-INF/jsp/helloWorld.jsp不可用 有趣的是其中有一个helloWorld.jsp 知道我做错了什么吗 这是我的web.xmlJava spring mvc 3.0小型web应用程序不太正常,java,spring-mvc,Java,Spring Mvc,我正在使用SpringMVC3.0创建一个非常简单(HelloWorldQuality)的web应用程序。在tomcat 6.0.26上部署应用程序时,我尝试打开 我得到404,resource/protoweb/WEB-INF/jsp/helloWorld.jsp不可用 有趣的是其中有一个helloWorld.jsp 知道我做错了什么吗 这是我的web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi
<?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">
<display-name>hello-spring3-RC1</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/yummy-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>yummy</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>yummy</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
还有我的webapp/jsp/helloWorld.jsp
<!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>Hello</title>
</head>
<body>
${message}
</body>
</html>
你好
${message}
另外,发布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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mine</groupId>
<artifactId>protoweb</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>protoweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>springsource maven repo</id>
<url>http://maven.springframework.org/milestone</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.0.RC1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>protoweb</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<configurationDir>tomcat</configurationDir>
<url>http://localhost:8080/manager</url>
<username>test</username>
<password>test</password>
</configuration>
</plugin>
</plugins>
</build>
</project>
4.0.0
com.mine
原型网
战争
1.0-快照
protoweb Maven Webapp
http://maven.apache.org
springsource maven回购
http://maven.springframework.org/milestone
org.springframework
SpringWebMVC
3.0.0.RC1
朱尼特
朱尼特
3.8.1
测试
javax.servlet
jstl
1.1.2
编译
原型网
org.codehaus.mojo
TomcatMaven插件
雄猫
http://localhost:8080/manager
测试
测试
如果没有正确的目录列表,很难判断,但您的源代码树应该是:
pom.xml
src
/main
/java # all your java sources
/webapp # stuff for the web app
/WEB-INF
/jsp/helloWorld.jsp
你确定你的JSP在
/WEB-INF/JSP
中,而不是/JSP
中吗?就是这样!谢谢我在src/main/webapp/jsp中有jsp,但显然mvn tomcat:deploy正在将其复制到/jsp,而不是WEB-INF/jsp
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mine</groupId>
<artifactId>protoweb</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>protoweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>springsource maven repo</id>
<url>http://maven.springframework.org/milestone</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.0.RC1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>protoweb</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<configurationDir>tomcat</configurationDir>
<url>http://localhost:8080/manager</url>
<username>test</username>
<password>test</password>
</configuration>
</plugin>
</plugins>
</build>
</project>
pom.xml
src
/main
/java # all your java sources
/webapp # stuff for the web app
/WEB-INF
/jsp/helloWorld.jsp