文章目录

  • 1. 新建一个maven项目,添加web的支持
  • 2. 在pom.xml文件中导入相关依赖
  • 3. 在web.xml 注册 SpringMVC 提供的 DispatcherServlet
  • 4. 编写SpringMVC 的配置文件
  • 5. 编写 jsp页面
  • 6. 编写controller
  • 7. 测试

什么是SpringMVC ?

  • MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错。还是为了组内开发人员之间的配合。总之就是一种分层工作的办法。

  • SpringMVC,是spring的一个子框架,当然拥有spring的特性,如依赖注入。

1. 新建一个maven项目,添加web的支持

创建一个maven项目后,光标移动到项目名上右击,再点击Add Framework Support

勾选Web应用

配置Tomcat

整个案例目录结构:

运行原理:

2. 在pom.xml文件中导入相关依赖

pom.xml文件:

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version></dependency>
</dependencies>

3. 在web.xml 注册 SpringMVC 提供的 DispatcherServlet

web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!-- 注册 DispatcherServlet到web.xml--><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--关联一个SpringMVC的配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><!--服务器启动的时候就启动--><load-on-startup>1</load-on-startup></servlet><!--/  匹配所有的请求,不包括 .jsp/*  匹配所有的请求,包括 .jsp--><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

4. 编写SpringMVC 的配置文件

在resources目录下创建springmvc-servlet.xml配置文件

在此配置文件的头文件上添加命名空间context和mvc,以及它们对应的约束文件

springmvc-servlet.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--以下均为 固定配置!--><!-- controller层:控制层,用于和前端交互--><!--扫描包配置--><context:component-scan base-package="com.zz.controller"/><!--注解驱动开启--><mvc:annotation-driven/><!--在web开发中,一般存在静态资源,如css,js,img... 交给springmvc管理--><mvc:default-servlet-handler/><!--重点:视图解析器--><!--前缀和后缀 :自动拼接资源的完整路径--><bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/></bean>
</beans>

5. 编写 jsp页面

在WEB-INF目录下创建一个存放自己页面的目录,如views,在里面编写页面,如hello.jsp
hello.jsp文件:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Hello</title>
</head>
<body><h1>hello</h1></body>
</html>

6. 编写controller

在java目录下编写controller层,创建HelloController类
注解解释:
@Controller //可以跳转页面
@RestController //不可以跳转页面,只能返回对应的文本内容
@RequestMapping("/hello") //对应前端请求的路径

HelloController文件:

package com.zz.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class HelloController {//只要去访问hello()方法,就会跳转到hello,并且会自动拼接前缀和后缀,即 /WEB-INF/views/hello.jsp@RequestMapping("/hello")public String hello(){System.out.println("aaaaa");return "hello";}
}

7. 测试

点击Tomcat运行,在地址栏输入hello后,发现404错误

解决方法:需要手动创建一个lib目录,再把所有依赖到lib目录下



依赖导入完毕后,重启Tomcat,在地址栏输入hello后,测试成功!


同时在控制台输出了 aaaaa

此外,还可以给前端传递值,在hello()方法里添加参数model,如传递 Hello,SpringMVC!

@RequestMapping("/hello")public String hello(Model model){System.out.println("aaaaa");model.addAttribute("msg","Hello,SpringMVC!");return "hello";}

hello.jsp里添加EL表达式的标签

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Hello</title>
</head>
<body><h1>hello</h1><h1>${msg}</h1></body>
</html>

测试结果:

SpringMVC(一)——入门案例相关推荐

  1. SpringMVC(入门案例)

    文章目录 入门 三层架构 SpringMVC 入门案例(重点) 入门案例工作流程分析(重点) SpringMVC技术架构图(重点)6大核心组件 基础配置 controller加载控制 静态资源加载 中 ...

  2. SpringMVC从入门到精通(全)

    目录 1. SpringMVC简介 1.1 MVC 1.2 SpringMVC 2. 入门案例 2.1 引入依赖包 2.2 配置xml文件 2.3 创建请求控制器 2.4 springMVC配置文件 ...

  3. Java框架 SpringMVC介绍及入门案例

    1.SpringMVC简介 1.1.什么是MVC MVC是一种软件架构的思想,将软件按照模型.视图.控制器来划分 M:Model ,模型层,指工程中的 JavaBean ,作用是处理数据 JavaBe ...

  4. 菜鸟学习 8-3 SpringMVC 入门案例的一些深入

    入门案例的一些深入 一.@RequestMapping注解的详解 1)该注解可以放在方法上,也可以放在类上,放在方法上用于给方法确定路径和加限制条件,放在类上用于给类确定路径,如果类和方法上都有,在请 ...

  5. SpringMVC(一):SpringMVC简介、入门案例

    目录 一.SpringMVC概述 二. SpringMVC入门案例 1.案例实现步骤 2.案例类和注解 三.SpringMVC案例运行流程 1. 启动服务器初始化过程 2.单次请求过程 四.bean加 ...

  6. idea springmvc_IDEA搭建SSM(spring+springmvc+mybatis)Maven项目的入门案例

    上一篇文章已经搭建好了SSM的框架,并且启动成功,今天来编写一下入门案例. 文章的主要内容: 1.hello world的编写 2.引入log4j,在控制台打印sql 3.增删改查的编写 一.在mys ...

  7. Spring-Security 简介、入门案例详解、安全框架、权限验证 SSM项目 使用 JavaConfig配置

    Spring-Security 简介 一.介绍 二.详细步骤 1.创建一个maven项目 添加web 框架. 2.导入依赖 3.项目整体结构 4.Spring 容器配置 5.servletContex ...

  8. 入门案例中使用的组件介绍

    DispatcherServlet:前端控制器 用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispat ...

  9. SpringMVC响应使用案例(带数据页面跳转,快捷访问路径,返回json数据)

    页面跳转 转发(默认) @RequestMapping("/showPage1") public String showPage1() {System.out.println(&q ...

最新文章

  1. Invoker 2019CCPC秦皇岛站I题 简单DP
  2. 品质检测破局:工业视觉检测云平台为智能制造“点睛”
  3. 机器学习项目的备忘清单!
  4. linux libpath的作用,linux – LD_LIBRARY_PATH似乎不起作用
  5. SpringBoot禁用命令行参数
  6. 欧锦赛球星谱:帕克领豪阵 诺天王对决加索尔
  7. OpenGL之3D数学的向量和矩阵
  8. 四数之和Python解法
  9. 安卓2.3刷机包_红米K20Pro 安卓Q刷机包下载+刷机教程
  10. [问题解决] LaTex Error:Unknown graphics extension:.eps
  11. 从佛罗伦萨记账到区块链,应用才是区块链崛起的真正标志
  12. 【Error】:10061由于目标计算机积极拒绝,无法连接
  13. 用计算机弹出记事本,电脑新装的系统开机后总是自动弹出记事本如何解决
  14. 坦克大战之继承的实现
  15. sipp工具的使用--简单的呼叫测试
  16. kingroot android 8.1,360一键root手机版
  17. c#窗体开发俄罗斯方块小游戏
  18. 知识追寻者网址神器私藏合集
  19. area 估算函数(simpson)
  20. C语言-简单的Simon游戏

热门文章

  1. BestCoder-Round#38
  2. [BZOJ 1012] 最大数maxnumber
  3. BZOJ 2759 一个动态树好题 (LCT)
  4. html 桌面截图,如何使用javascript在html中截取屏幕截图?
  5. php密码复杂,不要再强迫我设置复杂密码
  6. php+堆排序算法,排序算法-堆排序-php
  7. byteofpython.info_byteofpython学习笔记(2)
  8. LODOP打印table表格宽度固定-超宽隐藏
  9. Sitecore 9 为什么数据驱动的组织选择它
  10. 【JSOI2007】动态最值 Splay