
Spring学习笔记(七)SpringMVC入门
M:模型V:视图C:控制器。Spring MVC作用于三层架构中的表现层,用于接收客户端的请求并进行响应。Spring MVC中包含了控制器和视图,控制器接收到客户端的请求后对请求数据进行解析和封装,接着将请求交给业务层处理。业务层会对请求进行处理,最后将处理结果返回给表现层。表现层接收到业务层的处理结果后,再由视图对处理结果进行渲染,渲染完成后响应给客户端。
一.什么是Spring MVC
1.什么是MVC(一种思想架构模式)
模型(Model):模型是应用程序的数据和业务逻辑的表示。它负责处理数据的读取、存储和操作,以及业务规则的处理。模型通常是独立于用户界面的,可以在不同的视图和控制器之间共享和重用。
视图(View):视图是用户界面的呈现部分,负责展示数据给用户,并接收用户的输入。视图通常是根据模型的数据进行渲染和更新的,它可以是Web页面、图形界面或命令行界面等。
控制器(Controller):控制器是模型和视图之间的协调者,负责接收用户的输入并根据输入调用相应的模型逻辑。控制器将用户的请求转发给模型进行处理,并将处理结果传递给视图进行展示。控制器还可以处理视图的事件和状态变化。
总的来说,MVC设计模式通过将应用程序的逻辑分离成模型、视图和控制器,提供了一种结构化的开发方式,使得代码更加可读、可维护和可扩展,同时改善了用户体验和开发效率。 Spring MVC是一个Web框架,而MVC是一种架构模式。Spring MVC是基于MVC模式的实现之一。
2、Java EE三层架构
在Java EE开发中,系统经典的三层架构包括表现层、业务层和持久层。
表现层(Web层)负责接收客户端请求,并向客户端响应结果;
业务层(Service层)负责业务逻辑处理,和项目需求息息相关;
持久层(Dao层)负责和数据库交互,对数据库表进行增删改查。
MyBatis:作为持久层
Spring作为粘合剂处理接口
Spring MVC 作为表现层
3、对Spring MVC在表现层作用的分析
Spring MVC作用于三层架构中的表现层,用于接收客户端的请求并进行响应。Spring MVC中包含了控制器和视图,控制器接收到客户端的请求后对请求数据进行解析和封装,接着将请求交给业务层处理。业务层会对请求进行处理,最后将处理结果返回给表现层。表现层接收到业务层的处理结果后,再由视图对处理结果进行渲染,渲染完成后响应给客户端。
4、特点
a.支持多语言
b.支持多视图
c.易扩展
5、Spring MVC,我们只需要掌握以下3个功能:
1.连接的功能︰将用户(浏览器)和 Java 程序连接起来,也就是访问一个地址能够调用到我们的Spring程序。
2.获取参数的功能︰用户访问的时候会带一些参数,在程序中要想办法获取到参数。
3.输出数据的功能︰执行了业务逻辑之后,要把程序执行的结果返回给用户。
6、重要性
现在的项目大部分Java项目都是基于Spring或者Spring Boot的,而Spring 的核心就是Spring MVC。简单来说,Spring MVC是一切项目的基础,我们以后创建的所有Spring、Spring Boot项目基本都是基于Spring MVC的。在创建Spring Boot项目时,我们勾选的Spring Web框架其实就是Spring MVC框架。
二、第一个SpringMVC程序
1、新建一个普通的maven工程
2.在文件中找到项目结构,点击加号添加web
(或者直接在pom.xml声明当前是一个maven的web工程,语法:<packaging>war</packaging>)
3、引入Maven依赖:项目创建完成后,为保障项目的正常运行,需要导入项目所需的依赖到项目的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>org.example</groupId>
<artifactId>SpringMVCdemo01</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 声明当前是一个maven的web工程-->
<packaging>war</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
<!-- Spring的核心基本包 ioc相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.26</version>
</dependency>
<!-- 服务器相关配置-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<!--依赖范围-->
<scope>provided</scope>
</dependency>
<!-- jdbc相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.26</version>
</dependency>
<!-- spring事务相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.3.26</version>
</dependency>
<!-- springAOP相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>6.0.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<!-- Spring MVC相关 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.8.RELEASE</version> <!-- 版本号根据您的实际情况进行调整 -->
</dependency>
</dependencies>
<build>
<!-- 加入tomcat插件-->
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<uriEncoding>utf-8</uriEncoding>
<port>8080</port> <!-- 访问端口-->
<!--虚拟项目名-->
<path>/SpringMVCdemo01</path> <!-- 访问路径,一般就是你的项目名注意前面有个‘/’-->
</configuration>
</plugin>
</plugins>
</build>
</project>
需要注意的是,要在IDEA中使用插件运行Maven项目,除了需要在pom.xml文件中配置对应的插件外,还需要在IDEA中进行项目运行的相关配置,具体操作如下:
单击IDEA工具栏中的“Run”(运行)→“Edit Configurations...”(编辑配置)选项,弹出Run/Debug Configurations对话框。
在Run/Debug Configurations对话框中,单击左上角的“+”按钮,弹出Add New Configurations菜单列表
在Add New Configurations菜单列表中,单击左侧菜单中的“Maven”选项,进入Maven指令的配置界面。
4、配置前端控制器:在项目的web.xml文件中进行Spring MVC前端控制器的配置
<?xml version="1.0" encoding="UTF-8"?>
<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_4_0.xsd"
version="4.0">
<servlet> <servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!-- 配置初始化参数,读取Spring MVC的配置文件 --><init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.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>
</web-app>
5、配置处理器映射信息和视图解析器:创建Spring MVC的配置文件spring-mvc.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!-- 注解扫描-->
<context:component-scan base-package="com.yx.controller"/>
<!-- 视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 后缀-->
<property name="suffix" value=".jsp"/>
<!-- 前缀-->
<property name="prefix" value="/WEB-INF/pages/"/>
</bean>
</beans>
注意前缀<property name="prefix" value="/WEB-INF/pages/"/>的“/”的用法
6、创建处理器:创建处理器FirstController类,用于处理客户端的请求并指定响应时转跳的页面。
package com.yx.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class FirstController {
@RequestMapping("/firstController")
public String sayHello(){
System.out.println("你好!这是访问的第一个controller");
// string返回值,默认返回的是视图的名字(视图解析器的前缀+此处的字符串+视图解析器的后缀)
return "success";
}
}
7、创建视图(View)页面:创建名称为page的文件夹,并在page文件夹下创建名称为success的jsp文件,用于对客户端请求进行处理后的视图展示、
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
<h1>Hello Spring MVC!!!</h1>
<h2>这是你的第一个Spring MVC</h2>
</body>
</html>
8、启动项目,测试应用:项目启动成功后,在浏览器中对处理器进行请求访问,访问地址为localhost:8080/SpringMVCdemo01/firstController,访问后,IDEA控制台打印信息“访问到FirstController!”,并且浏览器跳转到success.jsp页面中,页面内容如下所示。
9、整体项目位置
注意好WEB-INF文件的位置
10.部署maven的快捷键
在idea的最右边找到maven点击开后在插件中找到tomcat7:run,然后右键编辑配置
效果
更多推荐
所有评论(0)