一.Spring优势:
① IOC,Spring是一个容器,通过容器管理实例,降低模块板块之间的耦合度
②AOP,面向对象,减少重复代码,弥补OOP中的不足,从横向的角度缴减少重复代码,项目更容易维护
③Spring的生态和社区非常丰富
④通过声明式事务,可以通过注解定义事务 Transactional
⑤和junit集成,方便的进行测试样例的编写
⑥比较灵活,可以和多个开源框架集成,如:mybatis
⑦它对很多java的api进行了封装,降低了我们使用这些api的学习成本
1 .三层架构介绍
咱们开发服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序
使用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构
三层架构
①表现层:WEB层,用来和客户端进行数据交互的。
②业务层:处理公司具体的业务逻辑的。
③持久层:用来操作数据库的。
2.MVC设计模式
- Model:数据模型,JavaBean的类,用来进行数据封装
- View:指JSP、HTML用来展示数据给用户
- Controller:用来接收用户的请求,整个流程的控制器。用来进行数据校验等
3.SpringMVC
- 用户发送请求至前端控制器DispatcherServlet
- DispatcherServlet收到请求调用HandlerMapping处理器映射器。
- 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
- DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
- 执行处理器(Controller,也叫后端控制器)。
- Controller执行完成返回ModelAndView
- HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
- DispatcherServlet将ModelAndView传给ViewReslover视图解析器
- ViewReslover解析后返回具体View
- DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
- DispatcherServlet响应用户
以上流程是以DispatcherServlet为核心轴,并且DispatcherServlet就是一个Servlet
4.XML方式
4.1创建项目并导包
创建web项目,已经非常熟悉,不再多说
需要导入的包
4.2配置文件
4.2.1web.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMVC_01_Basic</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <!-- 设置所有请求拦截到分发器 第一种 如果SpringMVC的配置文件,和web.xml在同一个目录 比如 MVC配置文件名字叫 basic-servlet.xml 只需要把servlet-name的值 设置为basic就可以, 但是 MVC配置文件的名字必须是xxx-servlet.xml的格式 --> <servlet-name>basic</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 指定配置文件--> <!-- <init-param> --> <!-- <param-name>contextConfigLocation</param-name> --> <!-- 可以放在任何地方 --> <!-- <param-value>/a/b/c/d/xxxxxxxxx.xml</param-value> --> <!-- 放在src下 --> <!-- <param-value>classpath:xxxxxxxxx.xml</param-value> --> <!-- </init-param> --> <!-- 项目启动就会加载这个servlet --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>basic</servlet-name> <url-pattern>/</url-pattern> <!-- /* 会拦截jsp文件 / 不会拦截jsp --> </servlet-mapping> </web-app>
4.2.2basic-servlet.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24<?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"> <!-- 使用XML进行映射 MVC框架基本两个点 1 url怎么映射进去进行处理 2 处理完如何找到视图 --> <!-- 处理映射器配置--> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- 创建映射,配置映射器,name必须是 / 打头--> <bean name="/w" class="com.tledu.controller.XmlMappingController"/> <!-- 视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
4.3控制器类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15package com.tledu.controller; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class XmlMappingController extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { System.out.println("Welcome~"); return new ModelAndView("welcome"); } }
4.4jsp页面
视图解析器这里,我们指定了文件的目录和后缀
当controller返回了welcome的时候 就会去找WEB-INF/jsp/welcome.jsp
需要创建对应的jsp
1
2
3
4
5
6
7
8
9<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 欢迎你 </body> </html>
4.5
运行web程序,浏览器输入
http://localhost:8080/SpringMVC_demo01/w
4.6小结
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
211.创建项目,引入依赖 2.配置web.xml a.因为现在,所有请求,我们都希望通过spring mvc进行管理 b.配置servlet ①name ②class:对应的路径(DispatchServlet) c.配置了servletMapping ①servlet-name: 对应到上面的名字 ②地址 / 3.配置Spring a.文件的位置要和web.xml同级 b.文件名字和servlet中servlet的名字对应上 ①servlet名字-servlet.xml c.配置MappingHandle的实例 ①<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> ②配置映射关系 <bean name="/w" class="com.tledu.spring_mvc_basic.controller.XmlMappingController"/> ③配置 视图解析器 4.实现Controller a.extends AbstractController b.实现一个抽象方法 c.返回一个ModelAndView
最后
以上就是受伤斑马最近收集整理的关于SpringMVC(XML方式)的全部内容,更多相关SpringMVC(XML方式)内容请搜索靠谱客的其他文章。
发表评论 取消回复