赞
踩
目录
MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分:
- Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中,JavaBean对象,业务模型等都属于Model。
- View(视图):用于展示模型中的数据的,一般为jsp或html文件。
- Controller(控制器):是应用程序中处理用户交互的部分。接受视图提出的请求,将数据交给模型处理,并将处理后的结果交给视图显示。
SpringMVC是一个基于MVC模式的轻量级Web框架,是Spring框架的一个模块,和Spring可以直接整合使用。SpringMVC代替了Servlet技术,它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。
先建立一个空项目:
一直Next,直到下图,确定好项目名和项目位置。点击finish
接下来我们写一个SpringMVC的入门案例,此时我们新建一个模块即可,首先使用maven创建web项目,补齐包结构 ,
点击Next,如下图
因为我已经建好了,所以上面方框中是红色提示符。配置好对应的id,点击next,爆红是点击不了下一步的,为了给你们看我下面就是随便改了一下。知道大概意思就可以了。
OK,确定没有问题就点击finish。
建好之后如上图
pom.xml文件内容:
- <?xml version="1.0" encoding="UTF-8"?>
-
- <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>com.example</groupId>
- <artifactId>mvc_demo1</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>war</packaging>
-
- <name>mvc_demo1 Maven Webapp</name>
- <!-- FIXME change it to the project's website -->
- <url>https://www.example.com</url>
-
- <dependencies>
- <!-- Spring核心模块 -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>5.2.12.RELEASE</version>
- </dependency>
- <!-- springWeb模块 -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- <version>5.2.12.RELEASE</version>
- </dependency>
- <!-- SpringMVC模块 -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webmvc</artifactId>
- <version>5.2.12.RELEASE</version>
- </dependency>
- <!-- Servlet -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
- <!-- JSP -->
- <dependency>
- <groupId>javax.servlet.jsp</groupId>
- <artifactId>jsp-api</artifactId>
- <version>2.0</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>11</maven.compiler.source>
- <maven.compiler.target>11</maven.compiler.target>
- </properties>
-
- <build>
- <plugins>
- <!-- tomcat插件 -->
- <plugin>
- <groupId>org.apache.tomcat.maven</groupId>
- <artifactId>tomcat7-maven-plugin</artifactId>
- <version>2.1</version>
- <configuration>
- <port>8080</port>
- <path>/</path>
- <uriEncoding>UTF-8</uriEncoding>
- <server>tomcat7</server>
- <systemProperties>
- <java.util.logging.SimpleFormatter.format>%1$tH:%1$tM:%1$tS%2 $s%n%4$s: %5$s%6$s%n
- </java.util.logging.SimpleFormatter.format>
- </systemProperties>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- </project>
然后在资源webapp目录下的WEB-INF目录下的web.xml文件,这是webapp核心配置文件,并配置相关内容
- <!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
-
- <web-app
- 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_3_1.xsd" version="3.1">
-
- <display-name>Archetype Created Web Application</display-name>
- <!-- SpringMVC前端控制器,本质是一个Servlet,接受所有请求,在容器启动时就会加载 -->
- <servlet>
- <servlet-name>dispatcherServlet</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:springmvc.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>dispatcherServlet</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- <!-- 默认进入obj2Param.jsp页面 -->
- <welcome-file-list>
- <welcome-file>obj2Param.jsp</welcome-file>
- </welcome-file-list>
-
- </web-app>
编写SpringMVC核心配置文件springmvc.xml,该文件和Spring配置文件写法一样。
- <?xml version="1.0" encoding="UTF-8" ?>
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd">
-
- <!-- 扫描包 -->
- <context:component-scan base-package="com.example"/>
- <!-- 开启SpringMVC注解的支持 -->
- <mvc:annotation-driven/>
-
- </beans>
com.example.controller.MyController1.java控制器文件内容:
- package com.example.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
-
- @Controller
- public class MyController1 {
- // 该方法的访问路径是/c1/hello1
-
- @RequestMapping("/c/hello1")
- public void helloMCV(){
- System.out.println("hello springmvc");
- }
- }
@Controller说明这是一个控制类
@RequestMapping说明他的上下文路径为:/c/hello1
待会运行的时候可以观察控制台是否输出hello springmvc即可
右击,如下图
点击+号,然后选择maven,然后选择要运行的项目目录, 运行命令为:tomcat7:run
OK,点击OK,完成运行配置
在网址栏输入localhost:8080/c/hello1 回车运行,可以看到如下图,
其实这里报404是正常的,因为这里要返回的是一个视图,但是我并没有写这个视图,所以就报404not found,但是观察控制台有没有输出hello springmvc,如果成功打印出则说明确实是运行成功了,如下图
- DispatcherServlet:前端控制器,接受所有请求,调用其他组件。
- HandlerMapping:处理器映射器,根据配置找到方法的执行链。
- HandlerAdapter:处理器适配器,根据方法类型找到对应的处理器。
- ViewResolver:视图解析器,找到指定视图。
- 客户端将请求发送给前端控制器。
- 前端控制器将请求发送给处理器映射器,处理器映射器根据路径找到方法的执行链,返回给前端控制器。
- 前端控制器将方法的执行链发送给处理器适配器,处理器适配器根据方法类型找到对应的处理器。
- 处理器执行方法,将结果返回给前端控制器。
- 前端控制器将结果发送给视图解析器,视图解析器找到视图文件位置。
- 视图渲染数据并将结果显示到客户端。
大家如果对于本期内容有什么不了解的话也可以去看看往期的内容,下面列出了博主往期精心制作的Maven,Mybatis等专栏系列文章,走过路过不要错过哎!如果对您有所帮助的话就点点赞,收藏一下啪。其中Spring专栏有些正在更,所以无法查看,但是当博主全部更完之后就可以看啦。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。