一,搭建SpringMVC项目

1,主配置文件-----地基

because,不像struts2是个独立的框架,可以脱离Spring单独使用。需要先添加Spring支持,是Spring框架组成的一部分,相当于Spring的一个扩展

so,t添加Spring核心类库、数据库支持、web支持

在WEB-INF下添加applicationContext.xml主配置文件  tx,p,context,aop,把主配置文件配置在WEB-INF下就不用配置参数,只需要配一个监听器即可

在web.xml中配置监听器:ContextLoaderListener


  struts2是MVC框架的组成部分,那么C指的是控制器,控制器的作用是(action):接收请求,调用业务逻辑,然后再返回相应的视图;视图作用(Jsp):显示结果,接收输入和用户交互;模型:处理数据,执行业务逻辑,数据访问层,业务逻辑层,实体类

二者对比:

  struts2的核心控制器是个过滤器:StrutsPrepareAndExecuteFilter

  SpringMVC的核心控制器是个Servlet:DispatcherServlet

  不需要自己再另外导入类库了,都在spring的web类库里了;框架自动提供的核心控制器:自动的拦截和处理所有请求(StrutsPrepareAndExcuteFilter),再进一步决定调用哪个Action(业务控制器)

伪静态:

  所有的请求都由SpringMVC处理,看上去在浏览器url地址栏中输入的是.html,实际上是调用的SpringMVC的控制器,其实是动态,后缀匹配,根据特定的请求来拦截,只要想调用SpringMVC的控制器,后缀就得写.html

  1. 在项目上添加Spring支持,注意一定要导入Spring的Web类库applicationContext.xml
  2. 在web.xml中配置Spring的监听器
  3. 在web.xml中配置SpringMVC的核心控制器——DispatcherServlet       在url中设置伪静态
  4. 在WEB-INF目录下创建SpringMVC的配置文件[Servlet-Name]-servlet.xml        核心控制器在初始化的时候会加载这个配置文件
  5. 编写业务控制器,通过注解进行配置
  6. 在SprigMVC中配置组件扫描和视图解析器

简单的SpringMVC的测试项目----跟struts2对比着学习的更多相关文章

  1. 创建一个可用的简单的SpringMVC项目,图文并茂

    转载麻烦注明下来源:http://www.cnblogs.com/silentdoer/articles/7134332.html,谢谢. 最近在自学SpringMVC,百度了很多资料都是比较老的,而 ...

  2. springmvc 项目完整示例01 需求与数据库表设计 简单的springmvc应用实例 web项目

    一个简单的用户登录系统 用户有账号密码,登录ip,登录时间 打开登录页面,输入用户名密码 登录日志,可以记录登陆的时间,登陆的ip 成功登陆了的话,就更新用户的最后登入时间和ip,同时记录一条登录记录 ...

  3. 简单实现springmvc框架(servlet+自定义注解)

    个人水平比较菜,没有这么高的实力简单实现springmvc框架,我是看了一个老哥的博客,这老哥才是大神! 原文链接:https://www.cnblogs.com/xdp-gacl/p/4101727 ...

  4. 一个简单的springmvc例子 入门(1)

    一直是从事棋牌游戏,平常用的东西 大多数只是使用一些javase的一些 api对spring 这方面 用到的比较少,每次学了都忘,始终记不住.为了 更轻松学习springboot,从新学习了sprin ...

  5. 编码的UI测试项目——Visual Studio 2013

    今天实现了一次编码的UI测试项目,以下是我进行测试的过程: 1.新建测试项目 在visual studio中(我用的版本是2013 update2)点击文件->新建->项目,选择“编码的U ...

  6. mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程)

    写在最前 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生M ...

  7. spring springmvc mybatis maven 项目整合示例-导航页面

    spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目 ...

  8. SpringMVC—Struts2拦截器学习网址整理

    引自:http://blog.csdn.net/wp1603710463/article/details/49982683 SpringMVC—Struts2拦截器学习网址整理 最近项目中遇到权限相关 ...

  9. 02.基于IDEA+Spring+Maven搭建测试项目--详细过程

    一.背景介绍 1.1公司相关技术 Git:是一款免费的开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,方便多人集成开发 Maven:是基于项目对象模型(POM),可以通过一小段描述信息 ...

随机推荐

  1. IOS第七天(4:UiTableView 数据的显示优化重复实例和tableFooterView和tableHeaderView)

    //加上头部 和底部 - (void)viewDidLoad { [super viewDidLoad]; [self tableView]; // 设置行高 self.tableView.rowHe ...

  2. 使用LVM对硬盘在线扩容

    初始状态: root@control:/dev/nova-volumes# vgdisplay --- Volume group --- VG Name nova-volumes System ID ...

  3. Code Snippet

    Code Snippet: http://msdn.microsoft.com/en-us/library/z41h7fat.aspx CodePlex.Snippets 4.0 - Visual S ...

  4. C#中的泛型 【转】

    C#中的泛型 泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性.泛型为.NET框架引入了类型参数(type parameters)的概念.类型参数使得设计类和方法时,不必确 ...

  5. 解决Tomcat无法shutdown进程

    转自:http://my.oschina.net/yongyi/blog/405198 问题分析 这个在windows下没有碰到过,因为此前跑Tomcat都是以服务而不是命令脚本的形式跑的,而且已经换 ...

  6. rabbitmq redis

    RabbitMQ RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统. 对于RabbitMQ来说,生产和消费不再针对内存里的一个Queue对象,而是某台服务器上的RabbitMQ Se ...

  7. react 年-月-日 时:分:秒

    // 时间let date = new Date();debugger;let seperator1 = "-";let seperator2 = ":";le ...

  8. LaTeX学习教程

    本来我对LaTeX不是看好的,毕竟都是命令格式的.觉得有word就足够啦word可视化操作方便快捷. 但是由于要写论文等,在导师要求下潜心学习一下,不知不觉间被LaTeX的强大功能所吸引.现在很多出版 ...

  9. K近邻分类算法实现 in Python

    K近邻(KNN):分类算法 * KNN是non-parametric分类器(不做分布形式的假设,直接从数据估计概率密度),是memory-based learning. * KNN不适用于高维数据(c ...

  10. linux 下搭建svn

    Update 程序设计中的“后悔药”——SVN 一.历史起源 1.版本控制软件   答:主要是对源代码版本进行控制与管理 2.版本控制软件起源 CVS:最早期的开源的版本控制软件(开源奇葩) VSS: ...