springMVC整理01--搭建普通的工程

1. Spring MVC 简介
Spring MVC 是 Spring 基于 MVC 设计理念提供的一个表现层的 Web 框架。是目前主流的MVC 框架之一。Spring MVC 通过一套 MVC 注解,让 pojo 成为处理请求的控制器,无需实现任何接口。比其他 MVC 框架更具扩展性和灵活性。
2. 环境搭建
本节介绍一个简单的 springMVC 环境搭建,输出一个 Hello World。
2.1 创建工程
选用一个 webapp 模板,这个模板会帮我们创建好 webapp/WEB-INF 目录和 web.xml 文件。
如果不使用模板,也可以自己创建目录和文件。

本测试功工程的完整目录如下:

2.2 导入 jar 包
在 pom.xml 中加入配置:

<dependencies>
<!--日志文件-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<!--spring 相关包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.11.RELEASE</version>
</dependency>
</dependencies>

在 resources 目录下创建 log4j.properties 文件,配置如下:

1 log4j.rootLogger=DEBUG, stdout
2 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
3 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
4 log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

2.3  编写 Spring  配置文件

在 WEB-INF 中创建 springMVC-servlet.xml 和 applicationContext.xml 两个文件。IDEA 可以使用模板自动创建文件,Add Framewoek Support 的时候选择 SpringMVC 即可。
springMVC-servlet.xml 中配置如下:

 1 <? xml version="1.0" encoding="UTF-8" ?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4 xmlns:context="http://www.springframework.org/schema/context"
 5 xmlns:mvc="http://www.springframework.org/schema/mvc"
 6 xsi:schemaLocation="
 7 http://www.springframework.org/schema/beans
 8 http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
 9 http://www.springframework.org/schema/context
10 http://www.springframework.org/schema/context/spring-context-4.2.xsd
11 http://www.springframework.org/schema/mvc
12 http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
13 <!-- 启动注解,注册服务-->
14 <mvc:annotation-driven/>
15 <!-- 启动自动扫描 -->
16 <context:component-scan base-package="controller">
17 <!-- 制定扫包规则 ,只扫描使用@Controller 注解的 JAVA 类 -->
18 <context:include-filter type="annotation"
19 expression="org.springframework.stereotype.Controller"/>
20 </context:component-scan>
21 </beans>

applicationContext.xml 暂时先不用写东西。

2.4  配置 web.xml

 1 <? xml version="1.0" encoding="UTF-8" ?>
 2 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 5 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 6 version="3.0">
 7 <!--配置 listener,在启动 Web 容器的时候加载 Spring 的配置-->
 8 <listener>
 9 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
10 </listener>
11 <!--将欢迎页设置成 index.html-->
12 <welcome-file-list>
13 <welcome-file>index.html</welcome-file>
14 </welcome-file-list>
15 <!--配置 DispatcherServlet -->
16 <servlet>
17 <servlet-name>springMVC</servlet-name>
18 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
19 </servlet>
20 <servlet-mapping>
21 <servlet-name>springMVC</servlet-name>
22 <url-pattern>*.html</url-pattern>
23 </servlet-mapping>
24 </web-app>

web 项目启动的时候,加载 spring 的默认路径是"/WEB-INF/applicationContext.xml,在WEB-INF 目录下创建的 xml 文件的名称必须是 applicationContext.xml。如果是要自定义文件名可以在 web.xml 里加入 contextConfigLocation 这个 context 参数,如下:

1 <context-param>
2 <param-name>contextConfigLocation</param-name>
3 <param-value>classpath:spring-*.xml</param-value>
4 </context-param>

上面的配置可以加载 resources 文件夹下 spring-开头的 xml 文件。DispatcherServlet 在 SpringMVC 中负责流程控制和职责分派,如文件上传、
请求映射等。其中<servlet-name>中的值是和配置文件相对应的,如此处<servlet-name>的值是 springMVC,对应配置文件的名字就叫 springMVC-servlet.xml,如图:

如果想要使用其它文件名,可以通过配置 contextConfigLocation,如下:

<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--指定其他文件名-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext.xml</param-value>
</init-param>
</servlet>

2.5 编写 controller
在 java 文件夹下新建 controller 文件夹,创建 IndexController.java

1 @Controller
2 public class IndexController {
3 //RequestMapping 设置访问路径是 index.html
4 @RequestMapping("index.html")
5 public String showIndex() {
6 //返回 index.jsp 页面
7 return "index.jsp";
8 }
9 }

SpringMVC 中使用@Controller 注解声明控制器,所有接受请求的方法都要写在@Controller 注解的类中。@RequestMapping 用来设置请求的 url 地址。

2.6  页面 index.jsp

默认工程创建的时候在 webapp 下就包含 index.jsp:

1 <html>
2 <body>
3 <h2>Hello World!</h2>
4 </body>
5 </html>

运行项目。访问 http://localhost:8080/index.html

注意访问的是 index.html 不是 index.jsp

原文地址:https://www.cnblogs.com/sueyyyy/p/9595542.html