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. 二、maven学习

    maven工程运行环境修改 例如maven自带Tomcat6,我们想使用Tomcat7 pom.xml #配置多一个Tomcat7<plugins> <plugin> < ...

  2. 【JavaScript】js中的构造函数,和构造函数的实例中的原型详解

    1. 构造函数作为一个对象,他也有他的原型属性,即.prototype:该属性指向的原型对象是Object. 2. 而构造函数产生的实例却没有.prototype属性,但是作为一个对象,该实例却仍然拥 ...

  3. Spring面试题整理

    1.https://blog.csdn.net/a745233700/article/details/80959716 2.https://ifeve.com/spring-interview-que ...

  4. python之时间日期datetime

    相比于time模块,datetime模块的接口则更直观.更容易调用datetime模块定义了以下几个类: datetime.date():表示日期的类.常用的属性是year,month,day:dat ...

  5. axios表单提交,delete,get请求(待完善)

    import { mapMutations} from 'vuex' import axios from 'axios' const mixins = { data() { return { } }, ...

  6. python+Appium自动化:记录遇到的坑

    1.打开 uiautomatorviewer同步的的时候突然报错 Error while obtaining UI hierarchy XML file: com.android.ddmlib.Syn ...

  7. MyBatis-02-第一个Mybatis程序

    2.第一个Mybatis程序 思路:搭建环境-->导入Mybatis-->编写代码-->测试! 2.1.搭建环境 搭建数据库 CREATE DATABASE `mybatis`; u ...

  8. VMware中Red Hat Enterprise Linux 7 配置桥接模式局域网

    在VMware中将虚拟机的网络连接设置为桥接模式. 在Red Hat中,找到应用程序--杂项--网络连接. 修改以太网下面的网络连接,在IPV4设置中,将方法改为“手动”,添加地址,子网掩码,网管,D ...

  9. BZOJ1491 [NOI2007]社交网络[最短路计数]

    $n$非常的小,结合题目计算式可以想到$O(n^3)$暴枚$s,t,v$,看$v$在不在$s\to t$最短路上($dis_{s,v}+dis_{v,t}=dis_{s,v}$是$v$在两点最短路上的 ...

  10. 报错:required string parameter XXX is not present

    报错:required string parameter XXX is not present 不同工具发起的get/delete请求,大多数不支持@RequestParam,只支持@PathVari ...