概述
一.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
<?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
<?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控制器类
package 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
<%@ 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.配置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方式)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复