广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >SpringMVC入门实例分析
  • 389
分享到

SpringMVC入门实例分析

2024-04-02 19:04:59 389人浏览 薄情痞子
摘要

今天小编给大家分享一下springMVC入门实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解

今天小编给大家分享一下springMVC入门实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

  spring mvc属于SpringFrameWork的后续产品,已经融合在Spring WEB Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行web开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等。

  Spring是为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一。Spring3.0之后全面超越Struts2,成为最优秀的MVC框架,SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无需实现任何接口。

  那有人就要提出质疑了,既然SpringMVC比Struts2框架更好,更优秀,我们为什么还要学习Struts2呢?首先呢,多学点也没啥坏处,其次呢,一些公司的老项目用的应该还是Struts2,所以如果你不会Struts2也说不过去吧,最后就是如果你学过Struts2,当你学SpringMVC的时候,你将会更加地得心应手。

  毫无疑问,第一个入门项目当然就是HelloWorld了。

  实现步骤:

  加入jar

  在web.xml中配置DispatcherServlet

  加入SpringMVC的配置文件

  编写处理请求的处理器,并标识为处理器

  编写视图

  1.加入jar包

  2.在web.xml中配置DispatcherServlet

  <?xml version="1.0" encoding="UTF-8"?>

  <web-app xmlns:xsi=""

  xmlns=""

  xsi:schemaLocation=" "

  id="WebApp_ID" version="3.1">

  <display-name>SpringMVC</display-name>

  <!-- 配置DispatcherServlet -->

  <servlet>

  <servlet-name>springDispatcherServlet</servlet-name>

  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  <!-- 配置初始化参数 -->

  <init-param>

  <param-name>contextConfigLocation</param-name>

  <param-value>classpath:springmvc.xml</param-value>

  </init-param>

  <load-on-startup>1</load-on-startup>

  </servlet>

  <!-- Map all requests to the DispatcherServlet for handling -->

  <servlet-mapping>

  <servlet-name>springDispatcherServlet</servlet-name>

  <url-pattern>/</url-pattern>

  </servlet-mapping>

  </web-app>

  这是一段固定的配置,如果你的开发工具有Spring插件的话,那就很容易将这段代码打出来。

  点击空白处使用快捷键,然后选中dispatcherservlet,回车即可。

  init-param标签配置的是初始化参数,其需要配置的参数是SpringMVC配置文件的位置和名称,学过Struts2就会知道,load-on-startup设置为1,即该Servlet是在web容器被加载的时候就创建,其它的和Struts2类似。

  3.加入SpringMVC的配置文件

  在src目录下创建SpringMVC的配置文件:

  <?xml version="1.0" encoding="UTF-8"?>

  <beans xmlns=""

  xmlns:xsi=""

  xmlns:context=""

  xsi:schemaLocation="

  ">

  <!-- 配置自动扫描的包 -->

  <context:component-scan base-package="com.itcast.spring"></context:component-scan>

  <!-- 配置视图解析器 -->

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

  <property name="prefix" value="/WEB-INF/views/"></property>

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

  </bean>

  </beans>

  这些配置在Spring中已经说过了,就不再重复介绍了,实在不了解的话可以翻我之前的文章看一下。

  这是SpringMVC提供的视图解析器,将控制层方法返回值解析为实际的物理视图,关于视图解析器的详细内容我会在后面的文章中详细说,这里不过多赘述。

  4.编写处理请求的处理器,并标识为处理器

  package com.itcast.spring.handler;

  import org.springframework.stereotype.Controller;

  import org.springframework.web.bind.annotation.RequestMapping;

  @Controller

  public class HelloWorld {

  @RequestMapping("/helloworld")

  public String hello() {

  System.out.println("hello world");

  return "success";

  }

  }

  通过@Controller将该类标记为控制器,并交由Springioc容器管理。

  5.编写视图

  <%@ page language="java" contentType="text/html; charset=UTF-8"

  pageEncoding="UTF-8"%>

  <!DOCTYPE html>

  <html>

  <head>

  <meta charset="UTF-8">

  <title>Insert title here</title>

  </head>

  <body>

  <a href="helloworld">Hello World</a>

  </body>

  </html>

  到这里,一个基本的案例就完成了,下面我们来详细分析一下执行流程。

  首先我们访问index.jsp,该页面有一个超链接,我们通过点击超链接,会发出一个/helloworld的请求,此时在web.xml中配置的springDispatcherServlet会拦截该请求,然后SpringIOC容器会去匹配相关的控制器,因为在HelloWorld类中的hello()方法上面注解了映射请求路径@RequestMapping("/helloworld"),所以超链接发出的请求和该方法成功匹配,便会执行该方法,并返回了"success"字符串。而该返回值会通过视图解析器解析为实际的物理视图,而InternalResourceViewResolver解析器的解析规则为:prefix + returnVal + 后缀。也就是说,我们在解析器中配置的/WEB-INF/views/ 加上返回值 "success" + 后缀".jsp" 将指向物理视图(/WEB-INF/views/success.jsp)。

  所以我们在WEB-INF目录下新建一个views文件夹,然后新建success.jsp文件:

  <%@ page language="java" contentType="text/html; charset=UTF-8"

  pageEncoding="UTF-8"%>

  <!DOCTYPE html>

  <html>

  <head>

  <meta charset="UTF-8">

  <title>Insert title here</title>

  </head>

  <body>

  <h5>Success Page</h5>

  </body>

  </html>

  通过这一系列的流程处理之后,当我们点击超链接的时候,页面会跳转至success.jsp页面,到底是不是这样的呢?运行见分晓:

  对于web.xml文件中的配置,其实也可以不用配置init-param初始化参数,而是使用默认的配置文件。但是默认的配置文件有一些讲究:

  必须放在WEB-INF目录下

  文件名称必须为<servlet-name> + -servlet.xml

  什么意思呢?

  在这里配置的servlet的名字加上-servlet.xml即为配置文件名,所以在这个项目中,配置文件名应为springDispatcherServlet-servlet.xml,因为servlet-name可以随意定义,所以其实配置文件名也可以跟着随意。

以上就是“SpringMVC入门实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网JavaScript频道。

--结束END--

本文标题: SpringMVC入门实例分析

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringMVC入门实例分析
    今天小编给大家分享一下SpringMVC入门实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2022-10-19
  • SpringMVC入门实例
    1介绍MVC框架是什么MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到...
    99+
    2023-05-30
    springmvc 入门 sprin
  • HTML入门实例分析
    这篇文章主要介绍“HTML入门实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML入门实例分析”文章能帮助大家解决问题。 HTML是英文Hyper Te...
    99+
    2022-10-19
  • Elasticsearch入门实例分析
    这篇文章主要介绍“Elasticsearch入门实例分析”,在日常操作中,相信很多人在Elasticsearch入门实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Elasticsearch入门实例分析...
    99+
    2023-06-05
  • flash away3D入门实例分析
    本文小编为大家详细介绍“flash away3D入门实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“flash away3D入门实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学...
    99+
    2022-10-19
  • CTF AWD入门实例分析
    这篇文章主要介绍了CTF AWD入门实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CTF AWD入门实例分析文章都会有所收获,下面我们一起来看看吧。引文AWD赛制是一种网络安全竞赛的...
    99+
    2023-07-04
  • 实例详解SpringMVC入门使用
    MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller...
    99+
    2022-11-12
  • Docker入门安装实例分析
    本文小编为大家详细介绍“Docker入门安装实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker入门安装实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。do...
    99+
    2022-10-19
  • javascript入门实例代码分析
    这篇文章主要介绍“javascript入门实例代码分析”,在日常操作中,相信很多人在javascript入门实例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
    99+
    2022-10-19
  • 容器Docker入门实例分析
    这篇文章主要讲解了“容器Docker入门实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“容器Docker入门实例分析”吧!一、概述1.1 基本概念:d...
    99+
    2022-10-19
  • python入门代码实例分析
    这篇文章主要介绍“python入门代码实例分析”,在日常操作中,相信很多人在python入门代码实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python入门代码实例...
    99+
    2022-10-19
  • JUnit5基础入门实例分析
    这篇“JUnit5基础入门实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JUnit5基础入门实例分析”文章吧。设计哲...
    99+
    2023-06-17
  • Vue新手入门实例分析
    本篇内容介绍了“Vue新手入门实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! Vue实例和模板语法<body>...
    99+
    2023-06-27
  • Java入门数组实例分析
    今天小编给大家分享一下Java入门数组实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。认识数组数组的定义数组是相同类型...
    99+
    2023-06-30
  • Rollup入门实例代码分析
    这篇文章主要介绍了Rollup入门实例代码分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Rollup入门实例代码分析文章都会有所收获,下面我们一起来看看吧。Rollup介绍及使用1、Rollup 概述仅仅是...
    99+
    2023-07-05
  • SpringMVC注解的入门实例详解
    目录1、在 web.xml 文件中配置前端处理器2、在 springmvc.xml 文件中配置处理器映射器,处理器适配器,视图解析器3、编写 Handler4、编写 视图 index...
    99+
    2022-11-13
  • drools入门案例分析
    今天小编给大家分享一下drools入门案例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、背景最近在学习规则引擎dro...
    99+
    2023-06-30
  • SpringMVC使用实例分析
    这篇文章主要介绍了SpringMVC使用实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringMVC使用实例分析文章都会有所收获,下面我们一起来看看吧。一丶SpringMVC概述Spring 为展现...
    99+
    2023-06-27
  • Blender Python编程入门实例分析
    Blender Python 编程支持的特性:编辑用户界面可以编辑的任何数据(场景,网格,粒子等)。修改用户首选项、键映射和主题。使用自己的设置运行工具。创建用户界面元素,如菜单、标题和面板。创建新的工具。创建交互式工具。创建与 Blend...
    99+
    2023-05-14
    Python blender
  • js类库styled-components入门实例分析
    这篇文章主要介绍“js类库styled-components入门实例分析”,在日常操作中,相信很多人在js类库styled-components入门实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js类...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作