我是靠谱客的博主 受伤斑马,最近开发中收集的这篇文章主要介绍SpringMVC(XML方式),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.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

 

  1. 用户发送请求至前端控制器DispatcherServlet
  2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。
  1. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
  2. DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
  1. 执行处理器(Controller,也叫后端控制器)。
  2. Controller执行完成返回ModelAndView
  1. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
  2. DispatcherServlet将ModelAndView传给ViewReslover视图解析器
  1. ViewReslover解析后返回具体View
  2. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
  1. 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方式)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部