【SpringMVC】第一个springmvc项目

news/2024/11/20 9:32:42/

需求:

用户在页面发起一个请求, 请求交给springmvc的控制器对象,并显示请求的处理结果(在结果页面显示一个欢迎语句)。

实现步骤:

  1. 新建web maven工程

  2. 加入依赖
    spring-webmvc依赖,间接把spring的依赖都加入到项目
    jsp,servlet依赖

  3. 重点: 在web.xml中注册springmvc框架的核心对象DispatcherServlet
    1)DispatcherServlet叫做中央调度器, 是一个servlet, 它的父类是继承HttpServlet
    2)DispatcherServlet页叫做前端控制器(front controller)
    3)DispatcherServlet负责接收用户提交的请求, 调用其它的控制器对象,并把请求的处理结果显示给用户

  4. 创建一个发起请求的页面 index.jsp

  5. 创建控制器(处理器)类
    1)在类的上面加入@Controller注解,创建对象,并放入到springmvc容器中
    2)在类中的方法上面加入@RequestMapping注解。

  6. 创建一个作为结果的jsp,显示请求的处理结果。

  7. 创建springmvc的配置文件(spring的配置文件一样)
    1)声明组件扫描器, 指定@Controller注解所在的包名
    2)声明视图解析器。帮助处理视图的。

*** @Controller:创建处理器对象,对象放在springmvc容器中* 位置:在类的上面* 类似spring中的@service @Component一样,都是创建对象的* 能处理请求的都是控制器(处理器):MyController能处理请求,叫做back controller*/
@Controller
public class MyController {/*处理用户提交的请求,springmvc中是使用方法来处理的方式是自定义的,可以有多种返回值,多种参数,方法名称自定义*//*** 准备使用doSome方法处理some.do请求* @RequestMapping:请求映射,作用是把一个请求地址和一个方法绑定在一起。*                 一个请求指定一个方法处理*       属性: 1. value是一个String,表示请求的uri地址的.*                value的值必须是唯一的,不能是重复的。*                在使用时,推荐地址以"/"*       位置: 1. 在方法的上面,常用的*             2. 在类的上面*  说明:使用RequestMapping修饰的方法叫做处理器方法或者控制器方法*  使用@RequestMapping修饰的方法可以处理请求的,类似Servlet中的doGet,doPost**  返回值:ModelAndView 表示本次请求的处理结果*  Model:数据,请求处理完成后,要显示给用户的数据*  View: 视图,比如jsp等等*/@RequestMapping(value = {"/some.do","/first.do"})public ModelAndView doSome(){//处理some.do请求,想当于Service调用处理完成了。ModelAndView mv= new ModelAndView();//添加数据mv.addObject("msg","欢迎使用springmvc做开发");mv.addObject("fun","执行的是doSome方法");//指定视图,指定视图的完整路径//框架对视图执行的forword操作,request.getRequestDispatcher("/show.jsp).forward(...)//mv.setViewName("/WEB-INF/view/show.jsp");//当配置了视图解析器,可以使用逻辑名称(文件名),指定视图//框架会使用视图解析器的前缀+逻辑名称+后缀 组成完成路径,这里就是字符连接操作///WEB-INF/view/+show+.jspmv.setViewName("show");//返回mvreturn mv;}
}

在这里插入图片描述


http://www.ppmy.cn/news/40906.html

相关文章

Python 进阶指南(编程轻松进阶):二、环境配置和命令行

原文:http://inventwithpython.com/beyond/chapter2.html 环境配置是配置你的计算机环境,以便你写代码的过程。这包括安装任何必要的工具,配置它们,以及处理安装过程中的任何问题。没有一键配置这种傻瓜式操作过程,因为…

Matlab进阶绘图第16期—三维填充折线图

三维填充折线图是在三维折线图的基础上,对其与XOY平面之间的部分进行颜色填充,从而能够更好地刻画细节变化。 由于Matlab中未收录三维填充折线图的绘制函数,因此需要大家自行设法解决。 本文使用自制的FilledPlot3小工具进行三维填充折线图…

Spring Boot 监控

目录 1.概述 2.使用 2.1.依赖 2.2.配置 2.2.1.默认 2.2.2.暴露端点 2.3.常用端点 2.3.1.health 2.3.2.metrics 2.3.3.loggers 2.3.4.beans 2.4.自定端点 1.概述 Spring Boot Actuator提供了对Spring Boot应用进行监控的能力,其提供了4个方面的监控能力…

从零开始学习Java神经网络、自然语言处理和语音识别,附详解和简易版GPT,语音识别完整代码示例解析

🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 目录一、神经网络简介二、实现简单神经网络三、Java自然语言处理示例代码(简易版GPT)四、Java简易版语音识别示例代码五、结论神经网络是一种模仿人脑神经…

AI热潮的发展,既有机遇也有挑战!

目录 人生中第一次接触到 “人工智能” 的概念和产品是什么? 让你觉得 “人类做得东西的确有智能”? 在学习工作中碰到的最高级的 AI 是什么? 听说过最近的 GPT,new bing, bard,AI 绘画, AI …

[imx6ull]PWM编程-蜂鸣器控制

文章目录一、PWM概述二、PWM的参数三、驱动配置四、PWM应用测试1.应用程序2.makefile3.运行测试一、PWM概述 PWM(Pulse Width Modulation),是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以…

使用树状图可视化聚类

一般情况下,我们都是使用散点图进行聚类可视化,但是某些的聚类算法可视化时散点图并不理想,所以在这篇文章中,我们介绍如何使用树状图(Dendrograms)对我们的聚类结果进行可视化。 树状图 树状图是显示对象…

探索网络世界的核心:TCPIP协议四层模型解析.md

前言 欢迎来到今天的每日一题,每日一提。今天要聊的是面试中经常会问到tcp协议 。相信在以往的面试中,一定碰到过这个问题吧:什么是TCP/IP协议?它包括哪些层次?。虽然在面试中脱口而出,有四层:应…