关于SpringMVC-5.0.2的Maven4项目的示例总结
一、工具和框架
工具:Eclipse jee、Tomcate9
框架:SpringMVC-5.0.2
项目类型:Maven4的web项目
二、文件配置
(一)pom.xml文件的配置
由于是Maven项目,则可以通过添加依赖的方法,自动联网下载所需要的jar包。
pom.xml文件是用来添加依赖,联网下载项目所需的Jar包。
pom.xml文件添加的依赖如下:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!--spring webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
<!--JSP 标准标签库 springMvc需要Jstl标签库来支持页面的显示-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
通过依赖语句联网下载后,本项目需要的所有jar包如下:
(二)、web.xml文件的配置
web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="4.0"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
【注解】
1、这里的version="4"
根据项目的版本而来。
2、<servlet-name>SpringMVC</servlet-name>
这是sevlet的名称,可以随意取名。
3、<param-value>classpath:spring/springmvc-config.xml</param-value>
里面的spring/springmvc-config.xml是springmvc的配置文件的路径(即加载位于spring包下的springmvc.xml配置文件)(springmvc-config.xml的配置在文章后面稍后进行讲解)。
4、<servlet-mapping>
是用来写servlet的映射,映射到前面指定的servlet名称。
5、<url-pattern>/</url-pattern>中的“/”
表示所有请求都被映射(拦截)到 DispatcherServlet。
(三)、springmvc-config.xml文件的配置
springmvc-config.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"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
<!-- 使用系统提供的默认配置方案(注解驱动) -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 自动扫描controller包中的控制器(支持注解) -->
<context:component-scan base-package="controller" />
<!-- 视图解析路径配置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="contentType" value="text/html" />
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- 配置静态资源(如JS、CSS、图片等)的访问路径,配置后可以直接访问 -->
<!-- 如果没有配置,则如 http://localhost:8080/TestSpringMVC/gif/1.gif 会被拦截不能访问 -->
<mvc:resources mapping="/gif/**" location="/gif/" />
</beans>
【注意】
1、开头那一大段网址叫做xsd约束文件,这里一定要注意xsi:schemaLocation
后面http://…-4.2.xsd里面的数字!!这里和springMvc框架版本如果匹配不对的话会报错,其他匹配的具体我不知道,但是我亲测过,springmvc5的框架和这里写4.2是匹配的,不会报错可以成功。
2、<context:component-scan base-package="controller" />
的功能:spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component 、@Controller、@Service等这些注解的类,则把这些类自动注册为bean(不用自己配置), 实现bean的自动载入。
3、<property name="prefix" value="/WEB-INF/views/" />
这里的value的值是表示到/WEB-INF/views/中寻找扩展名为.jsp的视图文件。
4、<mvc:resources mapping="/gif/**" location="/gif/" />
:"/gif/**“表示以/gif开头的所有请求,两个*:表示子路径(即接多个/)。”/gif/":本地资源路径,注意必须是
webapp根目录下的路径。
整体含义:所有的含/gif/的请求都放行,且转到webapp根目录下gif文件夹找文件
三、创建Controller控制器
在src/main/java中新建controller包,并创建一个名为HomeController.java类。
HomeController.java:
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/Home")
public class HomeController {
@RequestMapping("/")
public String index(){
return "home/index";
}
}
解释:
四、创建视图
为了安全起见,将JSP视图全部转移到WEB-INF中views中存放;
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>这是主页
</body>
</html>
五、运行
1、将TestSpringMVC部署到Tomcat上,启动Tomcat;
2、打开浏览器,输入:http://localhost:8080/TestSpringMVC/Home/
然后就可以看见主页啦: