当前位置: 首页 > article >正文

第一个Spring MVC 6入门示例

【图书介绍】《Spring+Spring MVC+MyBatis从零开始学(视频教学版)(第3版)》_spring+springmvc+mybatis从零开始 代码、课件、教学视频与相关软件包下载-CSDN博客

《Spring+Spring MVC+MyBatis从零开始学(视频教学版)(第3版)》(杨章伟,刘祥淼)【摘要 书评 试读】- 京东图书

编程与应用开发_夏天又到了的博客-CSDN博客

【图书介绍】案例可借鉴的Spring应用开发书-CSDN博客

本文通过一个简单的入门示例来演示Spring MVC的使用。

11.2.1  创建项目,引入JAR包

在IntelliJ IDEA中创建一个名称为chapter11的Web项目,在项目的lib目录中添加运行Spring MVC程序所需要的JAR包,并发布到类路径下,如图11.1所示。

图11.1  所需要的JAR包

从图11.1可以看到,项目中添加了4个核心JAR包、commons-logging的JAR包,以及两个Web相关的JAR包,这两个Web相关的JAR包就是Spring MVC框架所需要的JAR包。

11.2.2  配置前端控制器

在web.xml中配置Spring MVC的前端控制器DispatcherServlet,如文件11.1所示。

文件11.1  web.xml

01	<?xml version="1.0" encoding="UTF-8"?>
02	<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
03	         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
04	         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
05	         http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
06	         id="WebApp_ID" version="4.0">
07		<servlet>
08			<!-- 配置前端过滤器 -->
09			<servlet-name>springmvc</servlet-name>
10			<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
11			<!-- 初始化时加载配置文件 -->
12			<init-param>
13				<param-name>contextConfigLocation</param-name>
14				<param-value>classpath:springmvc-config.xml</param-value>
15			</init-param>
16			<!-- 表示容器在启动时立即加载Servlet -->
17			<load-on-startup>1</load-on-startup>
18		</servlet>
19		<servlet-mapping>
20			<servlet-name>springmvc</servlet-name>
21			<url-pattern>/</url-pattern>
22		</servlet-mapping>
23	</web-app>

在文件11.1中,主要对<servlet>和<servlet- mapping>元素进行了配置。在<servlet>中配置了Spring MVC的前端控制器 DispatcherServlet,并通过其子元素<init-param>配置了Spring MVC配置文件的位置,<load-on-startup>元素中的1表示容器在启动时立即加载这个Servlet;在<servlet-mapping>中,通过<url-pattern>元素的“/”拦截所有URL,并交由DispatcherServlet处理。

11.2.3  创建Controller类

在src目录下创建一个com.ssm.controller包,并在包中创建控制器类ControllerTest,该类需要实现Controller接口,如文件11.2所示。

文件11.2  ControllerTest.java

01	package com.ssm.controller;
02	import javax.servlet.http.HttpServletRequest;
03	import javax.servlet.http.HttpServletResponse;
04	import org.springframework.web.servlet.ModelAndView;
05	import org.springframework.web.servlet.mvc.Controller;
06	public class ControllerTest implements Controller {
07		@Override
08		public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1)
09		throws Exception {
10			//创建ModelAndView对象
11			ModelAndView m=new ModelAndView();
12			//向模型对象中添加一个名称为msg的字符串对象
13			m.addObject("msg","第一个Spring MVC程序");
14			//设置返回的视图路径
15			m.setViewName("/WEB-INF/jsp/welcome.jsp");
16			return m;
17		}
18	}

在文件11.2中,handleRequest()是Controller接口的实现方法,ControllerTest类会调用该方法处理请求,并返回一个包含视图名或包含视图名与模型的ModelAndview对象。本示例向模型对象中添加了一个名称为msg的字符串对象,并设置返回的视图路径为WEB-INF/jsp/welcome. jsp,这样请求就会被转发到welcome. jsp页面。

11.2.4  创建Spring MVC的配置文件,配置控制器映射信息

在src目录下创建配置文件springmvc-config.xml,并在文件中配置控制器信息,如文件11.3所示。

文件11.3  springmvc-config.xml

01	<?xml version="1.0" encoding="UTF-8"?>
02	<beans xmlns="http://www.springframework.org/schema/beans"
03	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
04	xsi:schemaLocation="http://www.springframework.org/schema/beans
05	http://www.springframework.org/schema/beans/spring-beans.xsd">
06		<!--配置处理器Handle,映射"controllerTest"请求 -->
07		<bean name="/controllerTest" class="com.ssm.controller.ControllerTest"/>
08		<!--处理器映射,将处理器Handle的name作为url进行查找 -->
09		<bean class="org.springframework.web.servlet.handler. BeanNameUrlHandlerMapping" />
10		<!--处理器适配器,配置对处理器中handleRequest()方法的调用 -->
11		<bean class="org.springframework.web.servlet.mvc. SimpleControllerHandlerAdapter" />
12		<!--视图解析器 -->
13		<bean class="org.springframework.web.servlet.view. InternalResourceViewResolver" />
14	</beans>

在文件11.3中,首先定义了一个名称为“/ControllerTest”的Bean,该Bean会将控制器类ControllerTest映射到“/ControllerTest”请求中;然后配置了处理器映射器BeanNameUrlHandlerMapping和处理器适配器SimpleControllerHandlerAdapter,其中处理器映射器用于完成对处理器Bean中的name(即url)进行处理器查找,而处理器适配器用于完成对ControllerTest处理器中handleRequest()方法的调用;最后配置了视图解析器InternalResourceViewResolver来解析结果视图,并将结果呈现给用户。

注意:在旧版本的Spring中,配置文件内必须配置处理器映射器、处理器适配器和视图解析器。但在Spring 4.0以后,如果不配置处理器映射器、处理器适配器和视图解析器,就会使用Spring内部默认的配置来完成相应的工作,这里显示的配置处理器映射器、处理器适配器和视图解析器是为了让读者能够更加清晰地了解Spring MVC的工作流程。

11.2.5  创建视图(View)页面

在WEB-INF目录下创建一个JSP文件夹,并在文件夹中创建一个页面文件welcome.jsp,在该页面中使用EL表达式获取msg中的信息,如文件11.4所示。

文件11.4  welcome. jsp

01	<%@ page language="java" contentType="text/html; charset=UTF-8"
02	     pageEncoding="UTF-8"%>
03	<!DOCTYPE HTML>
04	<html>
05	<head>
06		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
07		<title>入门程序</title>
08		</head>
09		<body>
10			${msg}
11		</body>
12	</html>

11.2.6  启动项目,测试应用

将chapter11项目发布到Tomcat服务器中并启动服务器。在浏览器中访问http://localhost: 8080/chapter11_war_exploded/controllerTest,显示的页面效果如图11.2所示。从页面可以看到,浏览器中已经显示出了模型对象中的字符串信息,这就说明第一个Spring MVC程序执行成功。

图11.2  运行结果页面效果


http://www.kler.cn/a/472272.html

相关文章:

  • 后台管理系统引导功能的实现
  • Sam Altman发布博客,回顾OpenAI九年历程,直言目标已瞄准ASI超级人工智能
  • [开源]自动化定位建图系统
  • 嵌入式驱动开发详解10(MISC杂项实现)
  • Directx12 chapter4
  • 科研绘图系列:R语言单细胞数据常见的可视化图形
  • 阿里云DDoS防护:如何更换IP地址,保护您的云服务器
  • 复习打卡大数据篇——HIVE 02
  • Wi-Fi Direct (P2P)原理及功能介绍
  • 运行.Net 7 Zr.Admin项目(后端)
  • Unity学习之UGUI(三)
  • Android图形系统中的PDF渲染:架构、JNI、系统定制与实际应用
  • 微服务-网关、配置热更新、动态路由
  • windows C#-接口中的索引器
  • CSS——17. nth-child选择器2
  • 镜舟科技2024年度回顾,坚持长期价值,进一步实现商业突破
  • 数据挖掘——数据预处理
  • 安徽省乡镇界面图层+arcgis数据shp格式-乡镇名称和编码2020年+wgs84坐标内容测评
  • 解锁RDMA 技术:从原理到应用的深度剖析
  • 不停机从 PostgreSQL 迁移到 MySQL
  • (k8s)k8s系列之命令手册速查
  • 单片机软件定时器V4.0
  • nacos学习笔记(一)
  • php函数性能优化中应注意哪些问题
  • 深度学习知识点:RNN
  • [网络安全]BurpSuite爆破实战解题详析之BUUCTF Brute 1