MVC介绍

mvc是一个众所周知的以设计界面应用程序为基础的设计模式。

它主要通过分离模型、视图及控制器在应用程序中的角色将业务编辑从界面中解耦。

MVC的核心思想是将业务逻辑从界面中分离出来,允许它们单独改变而不会相互影响。

SpringMVC 介绍

概念:

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

2、使用了MVC架构模式的思想,将web层进行职责解耦

3、基于请求驱动指的就是使用请求-响应模型

4、框架的目的就是帮助我们简化开发,也简化我们日常Web开发

优点:

1、性能比struts2好

2、简单便捷易学

3、和spring无缝衔接【IOC,AOP】

4、使用约定优于配置

5、支持Restful

6、异常处理,国际化,数据验证,类型转换等

7、使用的范围大(使用的人多、公司多)

普通方式实现springMVC的步骤:

1、创建web项目

2、导入相关jar包

3、创建配置文件

4、设置处理器和映射器(xml文件中配置)

<!-- 处理器映射器 将bean的name作为url进行查找 , 需要在配置Handler时指定beanname(就是url) 所有的映射器都实现HandlerMapping接口 -->

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

<!-- 配置 Controller适配器 -->

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

5、配置前端控制器(web配置文件中配置)

<!-- 配置前端控制器 -->

<!-- contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器、适配器等等),如果不配置contextConfigLocation,

    默认加载的是/WEB-INF/servlet名称-serlvet.xml(springmvc-servlet.xml)-->

<servlet>

  <servlet-name>springmvc</servlet-name>

   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  <init-param>

    <param-name>contextConfigLocation</param-name>

     <param-value>classpath:spring-mvc.xml</param-value>

   </init-param>

</servlet>

<servlet-mapping>

  <servlet-name>springmvc</servlet-name>

  <url-pattern>/</url-pattern>

</servlet-mapping>

6、创建自定义的Controller(创建Controller类+在xml文件中注册Controller)

7、测试效果

注解方式实现springMVC的步骤

1、修改配置文件开启注解方式

  <!-- 开启扫描 -->
    <context:component-scan base-package="com.bb.controller"/>
    <!-- 开启SpringMVC注解的方式 -->
    <mvc:annotation-driven></mvc:annotation-driven>

2、controller类中通过注解实现

@Controller  //交给Spring容器管理
public class UserController{ }

3、测试效果

SpringMVC 基础内容及使用步骤的更多相关文章

  1. SpringMVC基础配置及使用

    SpringMVC基础配置及使用 SpringMVC:1.SpringMVC和Spring的关系:    软件开发的三层架构: web层[表示层.表现层]---->Service层----> ...

  2. springMVC基础controller类

    此文章是基于 搭建SpringMVC+Spring+Hibernate平台 功能:设置请求.响应对象:session.cookie操作:ajax访问返回json数据: 创建springMVC基础con ...

  3. C#学习笔记_01_基础内容

    01_基础内容 进(位)制 十进制:逢10进1,数字由0-9组成: 二进制:逢2进1,数字由0-1组成: 八进制:逢8进1,数字由0-7组成: 十六进制:逢16进1,数字由0-9和a-f组成: 进制转 ...

  4. SpringMVC基础入门

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  5. SpringMVC基础入门,创建一个HelloWorld程序

    ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要 ...

  6. IO基础内容(File)

    JavaIO基础内容 IO技术概述 Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 Input 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操 ...

  7. ROS_Kinetic_09 ROS基础内容(四)

    ROS_Kinetic_09 ROS基础内容(四) 参考网址: http://wiki.ros.org/cn/ROS/Tutorials/UsingRosEd http://wiki.ros.org/ ...

  8. ROS_Kinetic_06 ROS基础内容(三)

    ROS_Kinetic_06 ROS基础内容(三) 先插入一段闲话,关于android的碎片化,无非集中于版本过多,型号各异,品牌杂乱等,似乎这是开源软件无法摆脱的宿命,ROS似乎也在这条路上越走越远 ...

  9. ROS_Kinetic_05 ROS基础内容(二)

    ROS_Kinetic_05 ROS基础内容(二) 1. ROS节点node 官网教程:http://wiki.ros.org/cn/ROS/Tutorials/UnderstandingNodes ...

随机推荐

  1. BZOJ2659算不出的算式不正经题解

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2659 分析 难得做到此类打表题目,不觉回想到NOIp2017考场上的SB经历 这道题看到 ...

  2. 利用宏方便地书写raw string literals

    以前一直没用过标准库的regex,今天写一个hlsl的解析工具的时候用了一下,发现用字符串字面值写regular expression的时候非常不方便,特别是每个“\”字符都要被识别为转义,只能写成“ ...

  3. mint-ui下拉加载(demo实例)

    <template> <div class="share"> <div class="header"> <div cl ...

  4. php打包下载以及断点续传

    php下载单文件 以及 多文件打包下载,支持断点续传 断点续传的功能未经验证 需要nginx或者apache服务器指定静态文件,png, mp4, zip等后缀文件的目录, 直接实例化并调用 down ...

  5. 2、screen工具

    1.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  6. BLE 5协议栈-逻辑链路控制与适配协议层(L2CAP)

    文章转载自:http://www.sunyouqun.com/2017/04/page/2/ 逻辑链路控制与适配协议通常简称为L2CAP(Logical Link Control and Adapta ...

  7. BLE 5协议栈-主机控制接口(HCI)

    文章参考自:http://www.sunyouqun.com/2017/04/page/3/ .https://www.cnblogs.com/yuqilihualuo/p/9790164.html ...

  8. DataTable To List<T> DataTable Linq学习笔记

    LINQ 查询适用于实现的数据源 IEnumerable<T>接口或System.Query.IQueryable接口. DataTable类默认是没有实现以上接口的. 所以要在DataT ...

  9. IPC之util.c源码解读

    // SPDX-License-Identifier: GPL-2.0 /* * linux/ipc/util.c * Copyright (C) 1992 Krishna Balasubramani ...

  10. LNMP安装与配置之Python3

    环境 我们是在CentOS7下安装python3,但CentOS已经默认安装了Python2,而 Yum 等工具依赖原来的Python2.所以我们需要稍作配置让Python2与Python3可以共存. ...