返回顶部
首页 > 资讯 > 精选 >Spring-MVC怎么用
  • 101
分享到

Spring-MVC怎么用

2023-06-17 13:06:51 101人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关spring-mvc怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。引言MVC :Model-View-Control框架性质的C 层要完成的主要工作:封装WEB 请求为一个数据对象

这篇文章给大家分享的是有关spring-mvc怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

引言

MVC :Model-View-Control

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

简要概述springMVC

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

一、入门实例

1. 搭建环境

在spring 的官方api 文档中,给出所有包的作用概述,现列举常用的包及相关作用:

org.springframework.aop-3.0.5.RELEASE.jar :与Aop 编程相关的包

org.springframework.beans-3.0.5.RELEASE.jar :提供了简捷操作bean 的接口

org.springframework.context-3.0.5.RELEASE.jar :构建在beans 包基础上,用来处理资源文件及国际化。

org.springframework.core-3.0.5.RELEASE.jar :spring 核心包

org.springframework.web-3.0.5.RELEASE.jar :web 核心包,提供了web 层接口

org.springframework.web.servlet-3.0.5.RELEASE.jar :web 层的一个具体实现包,DispatcherServlet也位于此包中。

后文全部在spring3.0 版本中进行,为了方便,建议在搭建环境中导入spring3.0 的所有jar 包(所有jar 包位于dist 目录下)。

2. 编写HelloWorld 实例

步骤一、建立名为springMVC_01_helloWord ,并导入上面列出的jar 包。

步骤二、编写web.xml 配置文件,代码如下:

Java代码

<?xml version="1.0" encoding="UTF-8"?>     <WEB-APP VERSION=< span>"2.4" xmlns="Http://java.sun.com/xml/ns/j2ee"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee          http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">                          spmvc             <SERVLET-< span>class>                 org.springframework.web.servlet.DispatcherServlet             class>             1                               spmvc             *.do

简要说明 :DispatcherServlet 就是一个Servlet ,也是对请求进行转发的核心Servlet 。在这里即所有.do 的请求将首先被DispatcherServlet 处理,而DispatcherServlet 它要作的工作就是对请求进行分发(也即是说把请求转发给具体的Controller )。可以简单地认为,它就是一个总控处理器,但事实上它除了具备总控处理理器对请求进行分发的能力外,还与spring 的ioc 容器完全集成在一起,从而可以更好地使用spring 的其它功能。在这里还需留意 < servlet-name > spmvc ,下面步骤三会用到。

步骤三、建立 spmvc-servlet.xml 文件,它的命名规则: servlet-name-servlet.xml 。它的主要代码如下:

Xml代码

<?xml version="1.0" encoding="UTF-8" ?>    >    <beans>        <bean id="simpleUrlHandlerMapping"       class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">            <property name="mappings">                <props>                    <prop key="/hello.do">helloControlprop>                                                         props>            property>        bean>        <bean id="helloControl" class="com.asm.HelloWord">bean>    beans>

说明: hello.do 的请求将给名为 helloControl 的 bean 进行处理。

步骤四、完成 HelloWord.java 的编写,代码如下:

Java代码

package com.asm;     import javax.servlet.http.httpservletRequest;     import javax.servlet.http.HttpServletResponse;     import org.springframework.web.servlet.ModelAndView;     import org.springframework.web.servlet.mvc.Controller;     public class HelloWord implements Controller {         public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)                 throws Exception {             ModelAndView mav = new ModelAndView("hello.jsp");             mav.addObject("message", "Hello World!");             return mav;         }     }

说明 :ModelAndView 对象是包含视图和业务数据的混合对象,即是说通过此对象,我们可以知道所返回的相应页面(比如这里返回hello.jsp 页面),也可以在相应的页面中获取此对象所包含的业务数据(比如这里message-hello worrld )。

步骤五、在当前项目web 根目录下编写hello.jsp ,主要代码如下:

< body >

世界,你好!

获取值: ${message }

步骤六:输入 .../hello.do 进行测试

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代码

<bean id="viewResolver"      class="org.springframework.web.servlet.view.InternalResourceViewResolver">            <property name="prefix" value="/WEB-INF/page/" />            <property name="suffix" value=".jsp" />    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 加上前后缀进行定位。

感谢各位的阅读!关于“Spring-MVC怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Spring-MVC怎么用

本文链接: https://lsjlt.com/news/289473.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Spring-MVC怎么用
    这篇文章给大家分享的是有关Spring-MVC怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。引言MVC :Model-View-Control框架性质的C 层要完成的主要工作:封装web 请求为一个数据对象...
    99+
    2023-06-17
  • Spring Boot中怎么使用Spring MVC
    本篇内容主要讲解“Spring Boot中怎么使用Spring MVC”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Boot中怎么使用Spring&n...
    99+
    2023-07-06
  • 怎么用Spring MVC实现RESTful风格
    本篇内容主要讲解“怎么用Spring MVC实现RESTful风格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Spring MVC实现RESTful风格”吧!Spri...
    99+
    2023-06-29
  • spring、spring MVC和spring Boot是什么
    这篇文章主要介绍“spring、spring MVC和spring Boot是什么”,在日常操作中,相信很多人在spring、spring MVC和spring Boot是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-05
  • spring mvc中url-pattern怎么写
    这篇文章主要介绍“spring mvc中url-pattern怎么写”,在日常操作中,相信很多人在spring mvc中url-pattern怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-22
  • spring mvc是什么
    spring mvc是一个基于Java的开源Web应用程序框架,提供了一种模型,视图,控制器架构模式来构建灵活、可扩展的Web应用程序。无论是大型企业级应用程序还是小型个人项目,spring mvc都是一个理想的选择,其模块化设计和松耦合的...
    99+
    2023-08-09
  • 利用Spring MVC怎么实现国际化
    这期内容当中小编将会给大家带来有关利用Spring MVC怎么实现国际化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Spring MVC的国际化是建立在Java国际化的基础上的,其一样是通过提供不同国家...
    99+
    2023-05-31
    springmvc
  • Spring MVC之characterEncodingFilter有什么用
    characterEncodingFilter是Spring MVC中的一个过滤器。它的作用是用来处理请求和响应的字符编码。在Web...
    99+
    2023-09-21
    Spring MVC
  • Spring MVC使用教程
    Spring MVC使用教程?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么是Spring MVC  Spring MVC属于SpringFrameWork的后续产品,已...
    99+
    2023-05-31
    spring mvc
  • 使用spring MVC怎么传递对象参数
    本篇文章为大家展示了使用spring MVC怎么传递对象参数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。采用@ModelAttribute注解的方式,接收方式如下:@RequestMapping(...
    99+
    2023-05-31
    springmvc
  • Spring MVC 详解 (Spring Boot)
    Spring MVC 详解 - Spring Boot 一、什么是 Spring MVC1.1 MVC 定义1.2 MVC 和 Spring MVC 的关系1.3 学习目的 二、Spring MVC 创建和连接2.1 创建 Sp...
    99+
    2023-12-22
    spring mvc spring boot java 后端
  • Spring MVC详解
    文章目录 一、SpringMVC1.1 引言1.2 MVC架构1.2.1 概念1.2.2 好处 二、开发流程2.1 导入依赖2.2 配置核心(前端)控制器2.3 后端控制器2.4 配置文件2.5 访问 三、...
    99+
    2023-08-30
    spring mvc java
  • spring中怎么设置MVC国际化
    本篇文章给大家分享的是有关spring中怎么设置MVC国际化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、基于浏览器语言的国际化配置使用Spring的MVC,并且配置中有配...
    99+
    2023-06-17
  • Spring MVC的常用注解有哪些及怎么用
    这篇文章主要介绍了Spring MVC的常用注解有哪些及怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring MVC的常用注解有哪些及怎么用文章都会有所收获,下面我...
    99+
    2024-04-02
  • 利用maven怎么构建一个spring mvc项目
    利用maven怎么构建一个spring mvc项目?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1使用eclipse构建maven web项目1新建Maven的web项目打...
    99+
    2023-05-31
    maven springmvc
  • 使用Spring MVC怎么对参数进行校验
    本篇文章为大家展示了使用Spring MVC怎么对参数进行校验,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 内嵌异常处理如果只是这个controller的异常做单独处理,那么就适合绑定这个co...
    99+
    2023-05-31
    springmvc
  • Spring MVC原理是什么
    这篇文章将为大家详细讲解有关Spring MVC原理是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。springMVC,是spring的一个子框架,当然拥有spring的特性,如依赖注入。在web模型...
    99+
    2023-06-27
  • 七、Spring MVC之ModelAttribute
        前面几篇文章分别说了spring mvc如何传参数到后台,如何返回参数到前台。今天来说一下,spring mvc的ModelAttribute注解,这个注解有什么作用,...
    99+
    2024-04-02
  • Spring MVC的原理是什么
    今天小编给大家分享一下Spring MVC的原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。SpringMVC是一种...
    99+
    2023-06-27
  • tomcat+spring mvc原理是什么
    这篇文章主要讲解了“tomcat+spring mvc原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“tomcat+spring mvc原理是什么”吧!tomat + spring ...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作