Spring-MVC入门(一):入门实例 (重点学习)

1.MVC :Model-View-Control

框架性质的C 层要完成的主要工作:封装web 请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结果及相应的视图给用户。

2. 简要概述springmvc

Spring C 层框架的核心是 DispatcherServlet,它的作用是将请求分发给不同的后端处理器,也即 使用了一种被称为Front
Controller 的模式(后面对此模式有简要说明)。 Spring 的C 层框架使用了后端控制器来、映射处理器和视图解析器来共同完成C
层框架的主要工作。并且spring 的C 层框架还真正地把业务层处理的数据结果和相应的视图拼成一个对象,即我们后面会经常用到的ModelAndView
对象。

4. 简析spring mvc 工作原理

(1 )启动服务器,根据web.xml 的配置加载前端控制器(也称总控制器) DispatcherServlet
。在加载时、会完成一系列的初始化动作。

(2 )根据servlet 的映射请求(上面的helloWorld 实例中针对.do
请求),并参照“控制器配置文件”(即spmvc-servlet.xml
这样的配置)文件,把具体的请求分发给特定的后端控制器进行处理(比如上例会分发给HelloWorld 控制器进行处理)

(3 )后端控制器调用相应的逻辑层代码,完成处理并返回视图对象( ModelAndView )给前端处理器。

(4 )前端控制器根据后端控制器返回的 ModelAndView 对象,并结合一些配置(后面有说明),返回一个相应的页面给客户端。

小结 :这种Front Controller 模式常应用在主流的web 框架中,比如典型的struts1.x 框架.Front
Controller
模式:所有请求先交给一个前端处理器(总控处理器)处理,然后前端处理器会参照一些配置文件再把具体的请求交给相应的后端处理器。后端处理器调用逻辑层代码,并根据逻辑返回相应的视图对象给前端控制器。然后前端控制器再根据视图对象返回具体的页面给客户端(提示:和spring
mvc 一样,在struts1.x 中前端控制器是Servlet, 而在struts2 中前端控制器是Filter )。 概述 Front Controller
模式:前端控制器预处理并分发请求给后端控制器,后端控制器进行真正的逻辑处理并返回视图对象,前端控器器根据视图对象返回具体页面给客户端。

5. 初识spring mvc 的视图

在前面的HelloWorld 实例中,在HelloWorld.java 中返回 ModelAndView mav = new ModelAndView(
"hello.jsp" ) 参数为 hello.jsp ,它会对应于当前项目根目录下的 hello.jsp 页面。但 spring mvc
为我们提供了一个特别的视图定位方式,下面改进前面的 HelloWord 实例:

改进一 :在 spmvc-servlet.xml 中增加如下代码:

Xml代码

  1. <bean id="viewResolver"      class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  2. <property name="prefix" value="/WEB-INF/page/" />

  3. <property name="suffix" value=".jsp" />

  4. bean>

改进二 :在HelloWorld.java 重新定义返回的 ModelAndView 对象,即把 ModelAndView mav = new
ModelAndView( "hello.jsp" ) 改为 ModelAndView mav = new ModelAndView( "hello"
)

改进三 :在/WEB-INF/page 目录下建立hello.jsp 页面

进行上面三个改进操作后,重新访问hello.do 会访问到WEB-INF/page/hello.jsp 页面。

简析视图定位 :当返回 ModelAndView 对象名称为hello 时,会给hello 加上前后缀变成

/WEB-INF/page/hello.jsp 。因此在给前后缀赋值时,应特别注意它和返回的 ModelAndView
对象能否组成一个正确的文件全路径。在前面的“简析spring mvc 工作原理(4) ”点中提到在根据ModelAndView
对象返回页面时,会结合一些配置。这里就是结合了视图定位方式,给viewName 加上前后缀进行定位。

时间: 2024-10-15 22:14:41

Spring-MVC入门(一):入门实例 (重点学习)的相关文章

Spring MVC 教程,快速入门,深入分析

资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf SpringMVC核心配置文件示例.rar 作者:赵磊 博客:http://elf8848.iteye.com 目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 六.springMVC-mvc.xml 配置文件片段讲解 七.spring mvc 如何访问到静态的文件,如j

Spring MVC整合Mybatis 入门

本文记录使用Intellij创建Maven Web工程搭建Spring MVC + Mybatis 的一个非常简单的示例.关于Mybatis的入门使用可参考这篇文章,本文在该文的基础上,引入了Spring MVC功能.首先是创建项目: 打开Intellij,File-->new Project--->选中,Maven--->勾上"Create from archetype"--->选择 Maven web project.如下图: 一步步Next,等待工程Bui

[转]Spring MVC 教程,快速入门,深入分析

.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 六.springMVC-mvc.xml 配置文件片段讲解 七.spring mvc 如何访问到静态的文件,如jpg,js,css 八.spring mvc 请求如何映射到具体的Action中的方法 九. spring mvc 中的拦截器:十. spring mvc 如何使用拦截器 十一. spring mv

Spring+Spring MVC+Hibernate框架搭建实例

前言:这里只是说明整个搭建流程,并不进行原理性的讲解 一 下面所需要用到的数据库配置: 数据库方面,使用mysql创建一个users表,具体代码如下: DROP TABLE IF EXISTS `users`; CREATE TABLE `users` (   `UserID` int(4) NOT NULL AUTO_INCREMENT,   `UserName` varchar(16) NOT NULL,   `Password` varchar(16) NOT NULL,   `Telep

Eclipse使用Maven创建Spring MVC项目(包含实例)以及部署到tomcat服务器

1.安装Maven并配置环境变量 2.eclipse中配置Maven 3.eclipse创建Maven项目 选择项目路径,next 选择maven项目类别[maven-archetype-webapp],next 输入Group Id(顶级包名),Artifact Id(项目名),Package根据两者自动生成,finish 生成的项目如上图所示. 报错原因是缺失Server Runtime Library,添加即可,同时jre替换为System Library. 替换后项目目录如下: src文

spring mvc: 注解和JavaConfig实例

通过javaConfig来配置config,并能正常访问url. 先看图 访问地址:http://localhost:8080/gugua5/ http://localhost:8080/gugua5/helloagain 先看下pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:

Spring MVC异常处理代码完整实例

Spring MVC异常处理流程: 提供构造方法传值: 配置异常处理器的bean 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/11218171.html

spring MVC框架(入门篇)-2

改进配置信息 改进1;在web.xml中修改欢迎页的配置信息,并将index.jsp移动到jsp文件夹下 <!-- 项目欢迎页,首页 --> <welcome-file-list> <welcome-file>jsp/index.jsp</welcome-file> </welcome-file-list> 改进2:在spmvc-servlet.xml文件中插入下面的代码 1 <!--在spring中一切资源都被视为bean -->

Spring MVC注解开发入门

注解式开发初步 常用的两个注解: @Controller:是SpringMVC中最常用的注解,它可以帮助定义当前类为一个Spring管理的bean,同时指定该类是一个控制器,可以用来接受请求.标识当前类是控制层的一个具体的实现 @requestMapping:放在方法上面用来指定某个方法的路径,当它放在类上的时候相当于命名空间需要组合方法上的requestmapping来访问 扩充: 注解名称 作用 @Controller 注解标明该类需要Spring容器自动加载,将一个类成为 Spring 容