SpringMVC框架(一)

mac2025-11-09  11

三层架构和MVC模型介绍

三层架构

咱们开发服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序Java语言基本上都是B/S架构的程序,B/S架构又分成了三层架构三层架构 1. 表现层:web层,和客户端进行数据交互。表现层一般采用mvc模型 2. 业务层:处理业务逻辑 3. 持久层:操作数据库

MVC模型

Model:数据模型,JavaBean的类,用来进行数据封装。View:指JSP、HTML用来展示数据给用户Controller: 接受用户的请求,对整个流程进行控制,进行数据校验等;

SpringMVC框架简介

SpringMVC是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架

入门开发案例

创建web工程,pom.xml引入相应坐标 <!-- 版本锁定 --> <properties> <spring.version>5.0.2.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> </dependencies> 配置核心的控制器(DispatcherServlet) 2.1 在web.xml配置文件中核心控制器DispatcherServlet <!-- SpringMVC的核心控制器 --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servletclass> <!-- 配置Servlet的初始化参数,读取springmvc的配置文件,创建spring容器 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <!-- 配置servlet启动时加载对象 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 配置springmvc.xml文件 <?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"> <!-- 配置spring创建容器时要扫描的包 --> <context:component-scan base-package="cn.it"></context:component-scan> <!-- 配置视图解析器 --> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"></property> <property name="suffix" value=".jsp"></property> </bean> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="cn.it.utils.StringToDateConverter"></bean> </set> </property> </bean> <!-- 配置spring开启注解mvc的支持 --> <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven> </beans> 编写index.jsp和StartController控制类 index.jsp <body> <h3>入门案例</h3> <a href="hello">入门入门</a> </body>

StartController.java

import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class controller { @RequestMapping(path = "hello") public String sayHello() { System.out.println("进来了"); return "success"; } } 在WEB-INF目录下创建pages文件夹,编写success.jsp的成功页面

组件介绍

前端控制器(DispatcherServlet)处理器映射器(HandlerMapping)处理器(Handler)处理器适配器(HandlAdapter)视图解析器(View Resolver)视图(View)

RequestMapping注解的作用及属性

1. RequestMapping注解

1. RequestMapping注解可以作用在方法和类上 2. 作用在类上:第一级的访问目录 3. 作用在方法上:第二级的访问目录 4. 细节:路径可以不编写 / 表示应用的根目录开始

2.属性

1. path和 value :请求路径的url 2. mthod: 指定该方法的请求方式 3. params 指定限制请求参数的条件 4. headers 发送的请求中必须包含的请求头

执行流程

入门案例的执行流程当启动Tomcat服务器的时候,因为配置了load-on-startup标签,所以会创建DispatcherServlet对象,就会加载springmvc.xml配置文件开启了注解扫描,那么Controller对象就会被创建从index.jsp发送请求,请求会先到达DispatcherServlet核心控制器,根据配置@RequestMapping注解找到执行的具体方法根据执行方法的返回值,再根据配置的视图解析器,去指定的目录下查找指定名称的JSP文件Tomcat服务器渲染页面,做出响应
最新回复(0)