Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用  

springmvc

(1)springmvc是什么?

是一个mvc框架,用来简化基于mvc架构的web应用程序的开发。
注:springmvc属于spring框架的一部分。

(2)五大组件

DispatcherServlet 前端控制器

HandleMapping (请求地址与模型的对应关系)

Controller 处理器 (业务逻辑处理)

ModelAndView (封装处理结果)

ViewResolver 视图解析器 (处理结果与视图的对应关系)

step1. DispatcherServlet收到请求之后,依据HandlerMapping的配置
调用对应的Controller来处理。
step2. Controller将处理结果封装成ModelAndView,返回给
DispatcherServlet。
step3. DispatcherServlet依据ViewResolver的配置,调用
对应的jsp来将处理结果进行展现。

(3)编程步骤

step1. 导包。
step2. 添加spring配置文件。
step3. 配置DispatcherServlet。
step4. 写处理器(Controller)。
step5. 写jsp。

案例:

src/main/java/

controller

  1. package controller;
  2.  
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5.  
  6. import org.springframework.web.servlet.ModelAndView;
  7. import org.springframework.web.servlet.mvc.Controller;
  8.  
  9. /**
  10. * 处理器类
  11. *
  12. */
  13. public class HelloController implements
  14. Controller{
  15.  
  16. public ModelAndView handleRequest(
  17. HttpServletRequest req,
  18. HttpServletResponse res)
  19. throws Exception {
  20. System.out.println("handleRequest()");
  21. /*
  22. * ModelAndView有两个构造器:
  23. * a. ModelAndView(String viewName)
  24. * b. ModelAndView(String viewName,
  25. * Map data)
  26. * 注:
  27. * viewName是视图名(视图名会被
  28. * ViewResolver解析成真正的视图对象,
  29. * 比如某个jsp)。
  30. * data是处理结果。
  31. *
  32. */
  33. return new ModelAndView("hello");
  34. }
  35.  
  36. }

HelloController.java

src/main/resources

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:jdbc="http://www.springframework.org/schema/jdbc"
  6. xmlns:jee="http://www.springframework.org/schema/jee"
  7. xmlns:tx="http://www.springframework.org/schema/tx"
  8. xmlns:aop="http://www.springframework.org/schema/aop"
  9. xmlns:mvc="http://www.springframework.org/schema/mvc"
  10. xmlns:util="http://www.springframework.org/schema/util"
  11. xmlns:jpa="http://www.springframework.org/schema/data/jpa"
  12. xsi:schemaLocation="
  13. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  14. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
  15. http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
  16. http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
  17. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
  18. http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
  19. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  20. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  21. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
  22. <!-- 配置HandlerMapping -->
  23. <bean
  24. class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  25. <property name="mappings">
  26. <props>
  27. <prop key="/hello.do">helloController</prop>
  28. </props>
  29. </property>
  30. </bean>
  31. <bean id="helloController"
  32. class="controller.HelloController"/>
  33. <!-- 配置视图解析器 -->
  34. <bean
  35. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  36. <property name="prefix" value="/WEB-INF/"/>
  37. <property name="suffix" value=".jsp"/>
  38. </bean>
  39.  
  40. </beans>

spring-mvc.xml

src/main/java/webapp/WEB-INF/

  1. <h1>Hello,SpringMVC</h1>

hello.jsp

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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_2_5.xsd" version="2.5">
  3. <servlet>
  4. <servlet-name>action</servlet-name>
  5. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  6. <!--
  7. DispatcherServlet的初始化方法在执行时,
  8. 会启动spring容器。
  9. contextConfigLocation负责指定spring
  10. 配置文件的位置。
  11. -->
  12. <init-param>
  13. <param-name>contextConfigLocation</param-name>
  14. <param-value>classpath:spring-mvc.xml</param-value>
  15. </init-param>
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18. <servlet-mapping>
  19. <servlet-name>action</servlet-name>
  20. <url-pattern>*.do</url-pattern>
  21. </servlet-mapping>
  22.  
  23. </web-app>

web.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <groupId>com.tarena.spring</groupId>
  4. <artifactId>springmvc01</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. <packaging>war</packaging>
  7. <dependencies>
  8. <dependency>
  9. <groupId>org.springframework</groupId>
  10. <artifactId>spring-webmvc</artifactId>
  11. <version>3.2.8.RELEASE</version>
  12. </dependency>
  13. </dependencies>
  14. </project>

pom.xml

Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用的更多相关文章

  1. Spring Web Flow 简介

    Spring Web Flow 简介 博客分类: 转载 SSH 最近在TSS上看到了一片介绍Spring Web Flow的文章,顺便就翻译了下来,SWF的正式版估计要到6月份才能看到了,目前的例子都 ...

  2. IDEA02 利用Maven创建Web项目、为Web应用添加Spring框架支持、bean的创建于获取、利用注解配置Bean、自动装配Bean、MVC配置

    1 环境版本说明 Jdk : 1.8 Maven : 3.5 IDEA : 专业版 2017.2 2 环境准备 2.1 Maven安装及其配置 2.2 Tomcat安装及其配置 3 详细步骤 3.1 ...

  3. 基于XML文档的声明式事务配置

    <!-- 配置事务切面 --> <aop:config> <aop:pointcut expression="execution(* com.atguigu.t ...

  4. springmvc——基于xml的异常映射和基于注解的异常映射

    SpringMVC提供了基于XML和基于注解两种异常映射机制.这两种异常映射不能够只使用一个,他们需要一起使用.因为有些异常是基于注解异常映射捕获不到的. 在springmvc中,一个请求如果是由&l ...

  5. 1. Spring基于xml加载和读取properties文件配置

    在src目录下,新建test.properties配置文件,内容如下 name=root password=123456 logArchiveCron=0/5 * * * * ? 一种是使用sprin ...

  6. 阶段3 2.Spring_05.基于XML的IOC的案例1_4 注解IOC案例-把自己编写的类使用注解配置

    注解改造案例 复制之前的xml配置的pom.xml里面的依赖. 复制com文件 bean.xml配置文件也拷贝过来 测试类也复制过来 开始基于注解的IOC配置 右键项目,选择maven.选择更新 更新 ...

  7. Spring学习--基于 XML 的配置声明切面

    正常情况下 , 基于注解的生命要优先于基于 XML 的声明. 通过 AspectJ 注解 , 切面可以与 AspectJ 兼容 , 而基于 XML 的配置则是 Spring 专有的.由于 Aspect ...

  8. 关于什么是SpringMVC,和SpringMVC基于xml配置、注解配置、纯注解配置

    首先我们先要了解一下,什么是SpringMVC? SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC子框架,也就是说SpringMVC的相关包都 ...

  9. disconf实践(三)基于XML的分布式配置文件管理,自动reload

    上一篇介绍了基于xml的非自动reload的分布式配置文件管理,这一篇介绍自动reload的方式(基于disconf实践二). 1. 修改RedisConfig.java package org.sp ...

  10. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring使用AspectJ开发AOP基于XML和基于Annotation

    AspectJ 是一个基于 Java 语言的 AOP 框架,它扩展了 Java 语言.Spring 2.0 以后,新增了对 AspectJ 方式的支持,新版本的 Spring 框架,建议使用 Aspe ...

随机推荐

  1. Oracle11g创建表空间及用户

    第1步:创建临时表空间   create temporary tablespace pgenius_temptempfile '/data/oracle/oradata/orcl/pgenius_te ...

  2. T-sql 中 truncate 、delete与drop操作数据库的区别

    1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 具体使用语法如下: --删除 ...

  3. yii2 实现excel导出功能

    官方教程地址:http://www.yiiframework.com/extension/yii2-export2excel/ 安装: Either run php composer.phar req ...

  4. Goal+企互区别+Map

    1.目标:我想通过本学期这门java ee来提升自己对于java整合开发的应用技术,并加深对上学期学习的java的技术.java目前是应用最广泛的语言,对于企业级应用的开发来说学好java ee是非常 ...

  5. linux系统挂载NTFS移动硬盘

    有时候做大数据量迁移时,为了快速迁移大数据,有可能在Linux服务器上临时挂载NTFS格式的移动硬盘, 一般情况下,Linux是识别不了NTFS格式移动硬盘的(需要重编译Linux核心才能,加挂NTF ...

  6. pulltoRefresh类图

  7. sed用法详解

    转载自: SED单行脚本快速参考(Unix 流编辑器) 如侵犯您的版权,请联系:Windeal12@qq.com ------------------------------------------- ...

  8. H.264采集、编码、传输的流程

    转载自H.264采集.编码.传输的流程 1 采集到的原始数据放入buf中 2 转化为yuv格式放入yuv conv.RGB24_to_YV12(buf, yuv,IMAGE_WIDTH, IMAGE_ ...

  9. linux中使用yum进行软件的安装

    yum 仓库 配置信息/etc/yum.reposd/ [linuxcast]name="this is soft ware"baseurl="http://ww.bai ...

  10. Django项目部署(阿里云)(1)--基本功能实现

    新博客地址:http://muker.net/django-server.html 手头需要部署一个Django项目,前面的博客也因为偷懒也没有部署,这里记录一下部署过程.ps:其实网上比较靠谱的说明 ...