Springmvc入门

SpringMVC快速入门第一讲——SpringMVC介绍与入门 SpringMVC介绍SpringMVC是什么?SpringMVC和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来: SpringMVC处理流程SpringMVC处理流程如下图所示: 这个图大致描述了SpringMVC的整个处理流程,乍一看有点晕乎,且待我一步步分析,最后弄个流程图出来就明白了。SpringMVC入门程序本系列教程使 阅读详情

一, 什么是springMVC?


   Spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。

 

springMVC入门使用

     Hello springMVC. . .

1,导入springmvc的依赖

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

2,导入springmvc框架的配置文件(扫描controller包、视图解析器)springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!-- 通过context:component-scan元素扫描指定包下的控制器-->
    <!--1) 扫描com.zking.zf及子子孙孙包下的控制器(扫描范围过大,耗时)-->
    <context:component-scan base-package="com.practice.ssm"/>


    <!--2) 此标签默认注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter -->
	<!--两个bean,这两个bean是spring MVC为@Controllers分发请求所必须的。并提供了数据绑定支持,-->
    <!--@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)-->
    <mvc:annotation-driven></mvc:annotation-driven>

    <!--3) ViewResolver视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- viewClass需要在pom中引入两个包:standard.jar and jstl.jar -->
        <property name="viewClass"
                  value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

3,配置web.xml    配置中央控制器(dispatchservlet) ​

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         id="WebApp_ID" version="3.0">
  <display-name>Archetype Created Web Application</display-name>

  <!-- Spring和web项目集成start -->
  <!-- spring上下文配置文件 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <!-- 读取Spring上下文的监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- Spring和web项目集成end -->

  <!-- 防止Spring内存溢出监听器 -->
  <listener>
    <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
  </listener>

  <!-- 中文乱码处理 -->
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <!--web.xml 3.0的新特性,是否支持异步-->
    <async-supported>true</async-supported>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!-- Spring MVC servlet -->
  <servlet>
    <servlet-name>SpringMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--此参数可以不配置,默认值为:/WEB-INF/springmvc-servlet.xml-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/springmvc-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <!--web.xml 3.0的新特性,是否支持异步-->
    <async-supported>true</async-supported>
  </servlet>
  <servlet-mapping>
    <servlet-name>SpringMVC</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>

注1: 配置乱码处理 /* 导致注释问题

4 ,HelloController

package com.practice.ssm.controller;

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

/**
 * @author Giraffe Wld
 * @site www.grf.com
 * @company grf公司
 * @create  2019-01-23 17:26
 */
@Controller
public class HelloController {



    /**
     *  遵循struts2原有的struts-sy.xml页面跳转配置
     *
     *   <package>
     *       <action name="" class="" namespace="">
     *           <result name="">跳转页面</result>
     *       </action>
     *   </package>
     *
     * RequetMapping 替换掉原有的action标签的配置
     *  "括号内值" 是给action的属性name赋值
     * @return
     */
    @RequestMapping("/hi")
    public String sayHello(){
        System.out.println("hello springMvc");
        return "hello";
    }
}

5,Hello.jsp

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2019/1/23
  Time: 17:43
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <h2>我特,这个厉害</h2>
    <br>
    <h3>这个厉害</h3>
</head>
<body>

</body>
</html>

 

二, SpringMVC处理请求的流程


  2.1 首先用户发送请求-->DispatherServlet

(用户发送请求通过项目的前端控制器)
  2.2 DispatcherServlet-->HandlerMapping

(前端控制器对用户访问的网页路径做处理,得到requestMapping的action属性name的访问)
  2.3 DispatcherServlet-->HandlerAdapter

(前端控制器进行方法的处理适配,找到相对应方法)
  2.4 HandlerAdapter-->处理器功能处理方法的调用

(处理适配器对方法的具体代码逻辑进行调用处理)
  2.5 ModelAndView的逻辑视图名-->ViewRecolver

视图解析器:解析方法返回的结果码,针对结果码进行视图处理

(通过方法返回结果码,进行结果码的视图处理)
  2.6 View-->渲染

(具体视图解析,渲染页面视图)
  2.7 返回控制权给DispatcherServlet,由DispatcherServlet返回呼应给用户,流程结束

注2:解释较生硬含糊

 

三, SpringMVC核心开发步骤


  3.1 DispatcherServlet在web.xml中的部署描述,从而拦截请求到springMVC
  3.2 HandlerMapping的配置,从而将请求映射到处理器
  3.3 HandlerAdapter的配置,从而支持多种类型的处理器
  3.4 处理器(页面控制器)的配置,从而刊行功能处理
  3.5 ViewResolver的配置,从而将逻辑视图名解析为具体的视图技术


四,SpringMVC的组件


  4.1 前端控制器(DispatcherServlet)
  4.2 请求到处理器映射(HandlerMapping)
  4.3 处理器适配器(HandlerAdapter)
  4.4 视图解析器(ViewResolver)
  4.5 处理器或页面控制器(Controller)
  4.6 验证器(Validator)
  4.6 命令对象(Command 请求参数绑定到的对象就叫命令对象)
  4.7 表单对象(Form Object提供给表单展示和提交到的对象就叫表单对象)

动态掩码语言模型(MLM)优化策略:效率提升与最新技术实践 本文深入探讨了动态掩码语言模型(MLM)的优化策略与技术实践,涵盖核心原理、效率优化及2025年最新突破。重点解析了动态掩码在提升模型性能中的关键作用,包括工程实现、掩码策略演进及混合专家动态掩码等创新技术,为自然语言处理领域的研究与应用提供实用指南。 阅读详情

相关推荐

零成本实现飞牛 OS 内网穿透:CloudFlare 隧道搭建全攻略

一、引言:突破内网限制的最优解当你的内网环境中部署了飞牛 OS 系统(无论是老旧电脑还是 NAS 设备),想要实现公网访问时,传统方案往往面临两大痛点:公网 IP 申请困难且成本高DDNS 动态解析配置复杂专业内网穿透工具存在付费门槛今天为大家带来零成本解决方案:通过免费域名搭配 CloudFlare 隧道技术,无需公网 IP 即可轻松实现飞牛 OS 服务的公网访问。全程操作可视化,新手也能快速上手!二、前期准备:必备工具清单(1)域名准备。

Honmaple的博客 7494

【SpringMVC】| SpringMVC 入门

【SpringMVC】| SpringMVC 入门

m0_61933976的博客 4109

UFS电源管理实战:如何优化手机存储的功耗与性能(附实测数据)

本文深入探讨了UFS电源管理的实战优化策略,旨在平衡手机存储的功耗与性能。通过解析UFS核心电压域与工作状态,重点介绍了通过动态调整bActiveICCLevel(活动电流等级)来实现精细控制,并结合实测数据与场景驱动的智能策略,为Android系统与硬件工程师提供了降低功耗、提升流畅度的有效方法。

weixin_29214559的博客 504

SpringMVC【入门】篇

SSM三部曲: 如果你读完这篇文章,恭喜你!你的spring入门了! 如果你读完这篇文章,恭喜你!你的Mybatis入门了! 第一篇 SpringMVC的概念及入门 什么是SpringMVC? 概念 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Sp...

qq_40181435的博客 1万+

基于DNN、CNN与SVM的串联电弧故障智能检测:从原理到嵌入式部署

在电气安全与工业物联网领域,时间序列分类是处理传感器信号、实现状态监测与故障诊断的核心技术。其原理在于从连续的信号数据中提取有效特征,并利用机器学习模型识别异常模式。这项技术的核心价值在于能够实现设备预测性维护、提升系统安全性并降低运维成本,广泛应用于智能电表、电机健康监测、电力设备保护等场景。本文聚焦于电气安全中的一个具体且危险的隐患——串联电弧故障的检测。针对这一隐蔽性强、传统方法误报率高的问题,项目深入实践了三种主流AI模型:深度神经网络、卷积神经网络和支持向量机。通过对比DNN的通用特征学习能力、C

weixin_31860973的博客 413

开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)综述

综上,大多数工作均基于CLIP预训练的图像编码器和文本编码器。GlIP为解决目标检测任务提供了先例,后续很多工作常与目前较为广泛使用的目标检测网络结构相结合,从而构建新的开放词汇目标检测器。如ViLD基于Mask R-CNN、RegionCLIP基于R-CNN、VLDet和BARON基于Faster R-CNN。更具有创新性的工作是Detic,提出了使用图像分类的数据集来对目标检测器的分类头进行训练。

yangsn0719的博客 4402

SpringMVC入门案例【三层架构和MVC、SpringMVC的概述和入门程序】(超详细)

SpringMVC入门案例三层架构和MVC三层架构表现层业务层持久层MVC 模型Model(模型)View(视图)Controller(控制器)SpringMVC 概述SpringMVC 是什么SpringMVC 在三层架构的位置SpringMVC 的优势SpringMVC 和 Struts2 的对比SpringMVC的入门程序创建基于maven的webapp项目先看一下目录结构(强调)在pom.xml文件中添加依赖在main文件夹里新建两个文件夹java和resources并补全目录结构补写web.xml

『愚』的博客 4394

《唤醒你的AI同事:WorkBuddy从零上手》004:与其他 AI 工具的对比

把 WorkBuddy 与聊天机器人、办公套件内置 AI、自动化工具逐维对比,并按当前版本补充四项新差距:结果交付、连接器广度、资料库与多模态产出。

LuckyHanMo的博客 676

SpringMVC 从入门到精通系列 01 —— SpringMVC 概述与入门案例

  本文是SpringMVC 从入门到精通系列的第一篇,主要针对 SpringMVC 概述进行阐述,并实现入门案例,分析其大致流程。 文章目录一、三层架构和MVC1.1 三层架构1.2 MVC模型二、SpringMVC的入门案例2.1 SpringMVC 的概述2.2 SpringMVC 的入门程序2.3 入门案例的执行过程分析2.4 mvc:annotation-driven 说明补充:创建 maven 工程过慢的解决方案 一、三层架构和MVC 1.1 三层架构 开发服务器端程序,一般都基于两种形式

秀岩的博客 807

DeepSeek-R1 论文阅读 DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning

和。这些模型的核心创新点是通过强化学习(Reinforcement Learning, RL)来提升大型语言模型(LLM)的推理能力,而没有依赖传统的监督微调(Supervised Fine-Tuning, SFT)作为预训练的步骤。是一种通过大规模强化学习直接训练的模型。它在推理能力上表现出色,能够自然地展现出许多强大且有趣的推理行为。但它也有一些问题,比如可读性差和语言混合。这意味着模型在生成文本时,有时会显得不太清晰,或者不一致地使用不同语言。为了解决这些问题并进一步提升推理能力,研究者提出了。

CSPhD-winston的博客 1840

OAI-5G开源通信平台实践(一)-安装 部署及RFsimulator基本测试

OAI (Open Air Interface) 是目前开源5G/4G项目中最完善、最成熟的一个,并且仍然在持续更新。其包含基站、终端及核心网网元的代码,可基于x86\arm+射频卡搭建实际硬件平台,也可在x86平台上对rf\phy等层进行模拟,做各网元协议栈的单独测试验证。本文总结了x86平台下,oai的安装及运行方式。包括NTN分支和主分支的rf simulator、nos1、端到端部署等场景的验证流程,同时总结了验证过程中遇到的问题及解决方法。

十年通信老兵的技术修炼之路——从3G到5G,从地面基站到卫星通信。 2965

SpringMVC —— 入门学习

1、SpringMVC简介 spring的 ioc和 aop解决的是:1.程序的依赖关系 2.把公共的部分抽取出来,进行统一管理和调用。 SpringMVC是一种基于java的实现MVC设计模型的请求驱动类型的轻量级web框架,用于表现层(web)。 MVC: M:model(模型) V:view(视图) C:controller(控制器) 2、入门案例 @RequestMapping:请求的映射:他要和浏览器请求url保持一致。 springmvc.xml <?xm...

weixin_56697114的博客 375

YOLOv11改进 | 网络结构代码逐行解析(二) | yolov11中的Mosaic增强详解

本文给大家带来的是YOLOv10中的Mosaic增强代码的详解,可能有部分人对于这一部分比较陌生,有的读者可能知道Mosaic增强但是不知道其工作原理,具体来说Mosaic增强就是指我们的数据集中的图片在输入给模型之前的一个处理过程(我们的图片并不是直接就输入给模型了,大家的训练结果中的结果检测图片大家可以看到数据集中多个图片会组合在一起这就是简单的Mosaic增强),下面我就来讲解一下其在YOLOv10中工作原理和代码定义,下面图片为一个Mosaic增强后的图片。​。

Snu77的博客 5023

SpringMVC概述、SpringMVC 的入门

MVC介绍、Spring MVC介绍、入门

qq_62965575的博客 1301

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SpringMVC入门指南

SpringMVC的详细介绍,它的工作流程、核心组件和优势,SpringMVC的配置和注解,请求处理流程、控制器的编写、视图的渲染,以及入门小案例的讲解

weixin_74268571的博客 2425

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SpringMVC 入门案例详解

在当今的 Java Web 开发中,SpringMVC 是一个非常强大且广泛使用的框架。它提供了一种清晰的 MVC(Model-View-Controller)架构模式,使得开发高效、可维护的 Web 应用变得更加容易。本文将详细介绍一个 SpringMVC 的入门案例,包括创建 Maven 工程以及配置web.xml。

dawn191228的博客 1763

SpringMVC之入门案例

SpringMVC之入门案例

qq_61313896的博客 630

【SpringMVC】SpringMVC的入门

1.3 创建SpringMVC的配置文件(SpringMVC.xml) 1.4 编写控制器并使用注解配置 1.5 页面 index.jsp success.jsp 1.6 测试 用户请求到达前端控制器,它就相当于MVC模式中的C,DispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。HandlerMapping 负责根据用户请求找到 Handler 即处理器,SpringMVC 提供了不同的映射器实

Robin的博客 895

SpringMVC入门

MVC(Model View Controller),一种用于创建web应用程序的表现层的模式1.Model(模型):数据模型,用于封装数据2.View(视图):页面视图,用于展示数据jsphtml3.Controller(控制器):处理用户交互的调度器,用于根据用户需求处理程序逻辑。

luosuss的博客 1293

SpringMVC入门案例

讲述SpringMVC项目的创建及原理

博客 436

springmvc入门

JSP,在前段写java代码,造成了耦合问题,为了解决这类问题,出现了一个新的设计模式,叫分层模式设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。设计模式就是一种模子,经过多年实践锤炼形成一套行之有效的完成某个特定任务的步骤和方式。

weixin_58069198的博客 1187

SpringMVC 的入门

2.添加web支持​3.效果不要先添加打包方式。

2301_77072336的博客 1384

SpringMVC:入门案例

一次性工作创建工程,设置服务器,加载工程导入坐标创建web容器启动类,加载SpringMVC配置,并设置SpringMVC请求拦截路径SpringMVC核心配置类(设置配置类,扫描controller包,加载Controller控制器bean)多次工作定义处理请求的控制器类定义处理请求的控制器方法,并配置映射路径(@RequestMapping)与返回json数据(@ResponseBody)[声明]:内容主要来源黑马程序员网上资源学习。

qq_41187116的博客 1511
上一篇: Mybatis-Redis使用二级缓存
下一篇: 静态资源处理
Cravck_it
博客等级 码龄8年 7粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值