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. O055、Detach Volume 操作

    参考https://www.cnblogs.com/CloudMan6/p/5636510.html     本节我们开始学习 Volume Detach 操作,就是将Volume从Instance上 ...

  2. 【Git的基本操作七】创建远程库、在本地创建远程库别名

    1. 创建远程库

  3. html和css制作百度界面

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 5.Linux 软件安装管理

    1.RPM包安装 (RPM会有依赖性,即安装这个包之前,需要安装某个包) 查询已安装的rpm 列表   rpm  -qa | grep  xx 安装rpm包 rpm  -ivh  rpm  包名 -i ...

  5. 经典i++和++i问题(附带运算符优先级问题)

    转自 https://blog.csdn.net/mustard1020/article/details/79617865 1.i++和++i的区别     (1)i++简单来说就是先用i的值来参加表 ...

  6. Phoenix实现分页查询

    1 利用offset语法,官网的语法 ELECT * FROM TEST LIMIT 1000; SELECT * FROM TEST LIMIT 1000 OFFSET 100; 2 公式如下 SE ...

  7. zookeeper--为分布式应用提供协调服务

    1.概述 zookeeper是一个开源的.分布式的.为分布式应用提供协调服务的Apache项目 zookeeper的工作机制 zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服 ...

  8. Linux学习--第九天--du、df、fsck、dumpe2fs、mount、NTFS-3G、fdisk、partprobe、/etc/fstab、free、mkswap、swapon

    分区类型 主分区:最多只能分四个 扩展分区:只能有一个,如果有了扩展分区,主分区只能有三个.扩展分区不能格式化和存储数据,再划分为逻辑分区才能进行相应操作. 逻辑分区:IDE硬盘,linux最多支持5 ...

  9. 5.java动态代理、反射

    1.java动态代理.反射(IDEA导入JUnit4) 1.1.反射 通过反射的方式可以获取class对象中的属性.方法.构造函数等 1.2.反射代码 import java.io.Serializa ...

  10. TP5通用化API接口数据封装

    之前在做项目的时候,特别是最近总是再使用前后端分离模式,向客户端提供接口,每次都傻不拉几的 在每一个方法里面 写 $data = ['status'=>1,'message'=>'XXX' ...