我正在创建简单的spring-mvc应用程序,引用this url。我通过引用url创建了maven web项目。
创建此项目后,一些名为' index.jpg'的默认文件在这个项目中生成。当我构建并运行这个项目时,它的内容是&index; jsp'文件。
现在我编辑了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.leader.unisys</groupId>
<artifactId>sample-application</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>sample-application Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<java.version>1.6</java.version>
<spring.version>4.0.3.RELEASE</spring.version>
<cglib.version>2.2.2</cglib.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring core & mvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<!-- CGLib for @Configuration -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>${cglib.version}</version>
<scope>runtime</scope>
</dependency>
<!-- Servlet Spec -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<finalName>sample-application</finalName>
</build>
</project>
项目结构如图所示:
现在,我如何使这个项目按照spring-servlet.xml文件中的映射工作。
查看解析器:
public ViewResolver getViewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
来自控制器的内容:
@RequestMapping(value="/")
public ModelAndView getHomePage(){
return new ModelAndView("home");
}
web xml默认内容:
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
我想在点击http://localhost:8080/sample-application后显示home.jsp。有人可以给我指示这样做。我是第一次和maven一起工作。
答案 0 :(得分:0)
您所要求的与Spring或Maven无关,但与Java EE / Web容器配置无关 - 通过web.xml
这是一个应该有帮助的链接.. http://docs.oracle.com/cd/E14571_01/web.1111/e13712/configurejsp.htm#WBAPP183
复制相关部分: 欢迎文件在Web应用程序级别定义。如果您的服务器托管多个Web应用程序,则需要为每个Web应用程序单独定义欢迎文件。您可以使用web.xml中的welcome-file-list元素定义欢迎文件。 (web.xml文件位于Web应用程序的WEB-INF目录中。)以下是欢迎文件配置示例:
欢迎文件示例
<servlet>
<servlet-name>WelcomeServlet</servlet-name>
<servlet-class>foo.bar.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WelcomeServlet</servlet-name>
<url-pattern>*.foo</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/welcome.foo</welcome-file>
</welcome-file-list>
希望这会有所帮助。
答案 1 :(得分:0)
将你的home.jsp移到WEB-INF
下。然后在web.xml
<welcome-file-list>
<welcome-file>home.jsp</welcome-file>
</welcome-file-list>
web.xml中的<welcome-file-list>
告诉应用程序必须先加载它。