JAVA Spring web mvc 学习 之 2

Java Web框架演进与Spring Boot生态深度解析 Java Web框架作为企业级应用开发的核心技术,经历了从Struts到Spring Boot的演进历程。MVC架构模式解决了早期Servlet/JSP的代码混杂问题,而IoC容器和AOP编程则带来了更优雅的解决方案。Spring Boot通过自动配置和起步依赖等机制,大幅提升了开发效率,成为当前Java Web开发的事实标准。在云原生和微服务架构趋势下,Quarkus、Micronaut等新兴框架以快速启动和低内存占用为优势崭露头角。对于开发者而言,掌握Spring Boot核心原理、响应式编程及性能优化 阅读详情

maven webapp 搭建完后,开始第一个Spring MVC 程序。每个步骤仅加入需要关联,与网上大部分整体部署不一样,逐步学习。了解每步中资源的关联。

1.pom.xml文件加入必要Spring webmvc\servlet 依赖

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>${springMVC.Version}</version>
</dependency>
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>

2.建立spring 配置文件 , 我命名为 spring-mvc.xml。其中第一个是,自己定义处理请求/hello,采用priv.yzying.controller.HelloControlle类来处理。第2-4其实可以不配置,不配置则采用默认。

<bean name="/hello" class="priv.yzying.controller.HelloController" />
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />

3.在web.xml中配置servlet 的 Dispatcher

<servlet>
  <servlet-name>springmvc</servlet-name>
  <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-mvc.xml</param-value>  <!-- 也可以是固定路径 /WEB-INF/spring-mvc.xml -->
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

截止此,可以说就搭建完了。后面我们做一下对/hello请求路径的处理。

package priv.yzying.controller;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloController implements Controller{
    private static final Log logger = LogFactory.getLog(HelloController.class);
    
    public ModelAndView handleRequest(HttpServletRequest reqest , HttpServletResponse response){
        logger.info("handleRequest is been invoked");
        ModelAndView mv = new ModelAndView();
        mv.addObject("message","Hello world!");
        mv.setViewName("/WEB-INF/content/welcome.jsp");
        return mv;
    }
}
注:此处设置了视图的路径/WEB-INF/content/welcome.jsp,代码如下:注 isELIgnored属性建议明确设置下,不然在有些环境下,不能解析${    }

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>welcome</title>
</head>
<body>
${requestScope.get("message")}
</body>
</html>


上面能成功运行了hello,但现在比较流行注解方式。这里进行一下改造,首先改造Controller类。

@org.springframework.stereotype.Controller
public class helloController{
    private static final Log logger = LogFactory.getLog(helloController.class);
    @RequestMapping(value = "/hello")
    public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
        logger.info("handleRequest is been invoked");
        ModelAndView mv = new ModelAndView();
        mv.addObject("message","Hello world");
        // mv.setViewName("/WEB-INF/views/welcome.jsp");
        mv.setViewName("/WEB-INF/views/welcome.jsp"); // 配置了 springmvc 的视图控制器属性
        return mv;
    }

只加注解是无法运行的,还必须告诉Spring采用注解扫描包、Mapping适配器、Mapping处理器。

首先,spring配置文件中,beans 节点增加属性 

xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation 属性中,增加
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd

这上面加入后,就可以在文档中增加如下配置,注:这里的priv.yzying.controller是指定进行扫描的package。
<context:component-scan base-package="priv.yzying.controller" />
随后,对应的注解处理、适配器,需进行配置。
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

配置完成后,便可以允许,可以如下配置取消,更能清楚的展现采用注解方式的结果。

<bean name="/hello" class="priv.yzying.controller.HelloController" />

Spring Web MVC Spring MVC 是个实现了 MVC 模式的 Web 框架Spring Boot 只是实现Spring MVC的其中种式已.Spring Boot 可以添加很多依赖, 借助这些依赖实现不同的功能. Spring Boot 通过添加Spring WebMVC框架, 来实现web功能不过Spring在实现MVC时, 也结合项的特点, 做了些改变@RequestMapping 是 Spring Web MVC 应程序中最常被到的注解之,它是来注册接的路由映射的. 阅读详情

相关推荐

Java异常处理代码编写

Java异常处理代码编写 java中的异常 在计算机程序运行的过程中,总是会出现各种各样的错误。 有一些错误是用户造成的,比如,希望用户输入一个int类型的年龄,但是用户的输入是abc: // 假设用户输入了abc: String s = "abc"; int n = Integer.parseInt(s); // NumberFormatException! 程序想要读写某个文件的...

悦分享 4208

JavaWeb02-Java Web框架对比:Spring MVC vs Struts

本文对比了Java Web开发中两大主流框架Spring MVC和Struts2。Struts2基于拦截器架构,提供强大表单处理但面临严重安全漏洞问题;Spring MVC则依托Spring生态系统,以注解驱动和灵活配置为特点,成为企业级应用首选。文章详细介绍了两种框架的开发环境搭建(Maven配置、web.xml设置),并分析了它们的历史演变、核心特点及当前市场地位(Struts2份额下降,Spring MVC主导)。通过架构原理、代码示例和优缺点的系统比较,为开发者技术选型提供参考依据。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

全面掌握MVC架构:Struts2+Spring3+Hibernate2学习指南

本文还有配套的精品资源,点击获取 简介:MVC模式是一种架构模式,将Web应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分,以提高代码的组织性、可维护性和可扩展性。本学习笔记首先概述了MVC模式的基本概念,随后深入介绍Struts2框架的工作原理和特点,Spring3作为企业级应用框架的MVC实现,以及Hibernate2在数据库交互...

weixin_29781865的博客 1297

「Java开发指南」MyEclipse如何支持Spring Scaffolding?(二)

本文主要为大家介绍在MyEclipse中是如何支持Spring Scaffolding的,欢迎下载最新版IDE体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1255

Java Web开发框架整合实战:Spring+Hibernate+Struts2

Spring框架由Rod Johnson创建,并首次发布于2003年,是一个开源的Java平台,它为现代企业级应用提供了全方位的编程和配置模型。Spring的核心理念是提供一种轻量级的、非侵入式的方式来开发Java应用。它遵循POJO(Plain Old Java Objects)原则,这意味着我们可以在不依赖于特定的Spring API的情况下编写业务逻辑。这一理念的优势在于能够让开发者专注于业务逻辑,而不是框架的细节。

weixin_42576410的博客 915

ExtJS+Hibernate+Struts2+Spring全栈Java Web开发实战案例源码集

在ExtJS中,每一个数据实体都应被抽象为一个Model类,类似于后端ORM中的实体类。通过继承并配置fields属性,可以精确描述一条记录所包含的字段及其类型约束。代码逻辑逐行解读:是ExtJS的类定义方法,用于创建名为的新类。表示该类继承自ExtJS内置的数据模型基类,获得基本的数据行为支持。fields数组定义了该模型的所有字段:name指定字段名;type设定字段类型,如'int''string''boolean'

weixin_42612405的博客 941

Spring MVC具有哪些优点及缺点呢?

Spring MVC的优点及缺点说明

qq_25073223的博客 935

Spring MVC整合QQ与微博第三方登录完整教程

Spring MVC(Model-View-Controller)是Spring框架中用于构建Web应用程序的核心模块之一,它基于经典的MVC设计模式,实现了请求处理与业务逻辑的解耦,广泛应用于企业级Java Web开发中。是Spring生态中专门用于整合社交网络服务的模块,它提供了一套标准化的API来连接如Facebook、Twitter、QQ、微博等平台。其核心思想是将社交平台的连接抽象为一个统一的接口,使得开发者无需关注底层协议细节即可完成社交登录的集成。

weixin_36204513的博客 661

java web 教案_Java Web开发课程教与学(教学大纲、日历及教案)

原标题:Java Web开发课程教与学(教学大纲、日历及教案) Java Web开发从入门到实战教学大纲【课程编号】【课程名称】Java Web开发【课程类型】专业必修课【授课对象】计算机科学与技术专业本科,三年级学生【学时学分】周学时4,共56学时,3学分【课程概况】《Java Web开发》是计算机科学与技术专业三年级学生开设的一门专业必修课。本课程主要讲述的内容包括:Web前端基础、开发环境的...

weixin_42522626的博客 1127

SuperPoint与SuperGlue的C++ TensorRT工程化实战:从理论到部署的完整指南

本文详细介绍了如何将SuperPoint和SuperGlue算法通过C++和TensorRT进行工程化部署,从模型准备、格式转换到TensorRT引擎构建和C++推理实现。通过性能优化技巧和实际应用案例,展示了在边缘设备上实现实时特征匹配的完整流程,显著提升处理速度与效率。

weixin_42537831的博客 159

VirtualBox增强功能安装全指南:从下载到配置复制粘贴功能

本文详细介绍了VirtualBox增强功能的完整安装与配置流程,重点解决了虚拟机与主机间复制粘贴、文件拖放等核心协作难题。通过分步指南和故障排查,帮助用户在不同操作系统(如Windows、Linux)中实现无缝集成,提升虚拟化工作效率与体验。

weixin_29206669的博客 417

spring mvc 与struts2比较

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(二)     在上一篇文章中我详细的介绍了如何搭建maven环境以及生成一个maven骨架的web项目,那么这章中我将讲述Spring MVC的流程结构,Spring MVC与Struts2的区别,以及例子中的一些配置文件的分析。     一、Spring MVC 3.0介绍  

java_programers的专栏 3276

计算机视觉(相机标定;内参;外参;畸变系数)

目录 一、预备知识 1、坐标系变换过程(相机成像过程) (1)相机坐标系转换为图像坐标系(透视投影变换遵循的是针孔成像原理) (2)齐次坐标的引入原因:(为什么引入齐次坐标???) 2、内参与外参矩阵的构成 3、畸变参数 二、相机标定 1、张正友标定法(光学标定)及其求解思路 2、求解内参矩阵与外参矩阵的思路: (1)计算内参与外参矩阵的乘积M (2)求解内参矩阵A (3)求解外参矩阵(R1 R2 T) 三、参数优化 1、L-M算法 2、相机标定步骤 四、相关代码及其实验结.

QYJ_WORKHARDING的博客 6万+

【JavaEE】Spring Web MVC

Spring MVC简介,以及@RequestMapping注解讲解,Postman介绍

yj20040627的博客 8756

windows11 远程桌面连接 通过代理连接RDP桌面报错 错误代码0x904 拓展错误代码0x7

打开windows Defender防火墙设置--允许应用通过防火墙更改设置--允许其他应用浏览--进入C:\WINDOWS\system32目录选择mstsc.exe进入C:\Windows\SysWOW64目录h'qmstsc.exe添加后列表里多了一个远程桌面连接,还有一个Remote Desktop Connection,配置网络权限后保存连接成功。

weixin_43978891的博客 1万+

【Windows Server 2019】DNS服务器的配置与管理——DNS正向解析

博文介绍了如何使用正向解析区,包括创建和添加并验证,以及术语 主机记录,别名,邮件交换记录的解释。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 1万+

Spring Web MVC从入门到实战

本文全面讲解Spring Web MVC框架的核心知识与实战应用,从MVC设计模式原理入手,深入剖析Spring MVC的核心注解、请求响应处理机制、应用分层架构等关键内容。通过多个企业级实战项目(加法计算器、用户登录系统、图书管理系统),结合Postman、Lombok等开发工具,帮助开发者快速掌握Spring MVC在实际开发中的应用技巧。文章严格遵循企业开发规范,包含完整的代码示例、技术图表和权威参考链接,适合Java后端开发者从入门到精通Spring MVC框架,构建高质量的Web应用程序。

此人很懒,什么都留下了...快进来看看吧 4381

关于DEJA_VU3D - Cesium功能集专栏说明

专栏主要目的是对工作中基于Cesium实现过的功能进行整合,暂时打算一周2-3更的样子来更新,每一篇都会奉上完整源代码(尽可能把代码简洁一些)。功能实现大多数是自己琢磨实现的,也有参考其他大神后整理实现的,初步算了算现在有差不多实现小130个左右的功能,后续也会不断的更新。..........................................

总得学点什么的博客 2万+

详解Java之Spring MVC

详解Spring MVC的参数传递。

. 1万+

华为OD新系统机试真题 - API请求日志去重分析

华为OD新系统机试真题【API请求日志去重分析】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD4月15号机试真题【API请求日志去重分析】

qq_45776114的博客 914

5、数据计算与处理技巧全解析

本文深入解析了Tableau中的多种数据计算与处理技巧,涵盖LOD计算、日期与字符串处理、计数优化、数据混合限制及自定义总计等核心内容。通过实际案例和流程图,系统讲解了各技巧的应用场景、实现步骤与注意事项,并提供性能优化建议和常见问题解答,帮助用户提升数据分析效率与可视化精度。同时展望了未来数据计算技术的发展趋势,是Tableau用户进阶必备的全面指南。

peach的博客 82

【JavaEE】创建SpringBoot第一个项目,Spring Web MVC⼊⻔,从概念到实战的 Web 开发进阶之旅

本文深入剖析 Spring Web MVC 这一基于 Servlet API 构建的 Web 框架。开篇阐述 Spring MVC 的定义,将其置于 MVC 架构设计模式的语境中,清晰展现其作为 MVC 思想具体实现的本质。接着详细讲解学习 Spring MVC 的重点,涵盖建立连接、处理请求与响应等关键环节。在建立连接部分,着重介绍 RequestMapping 注解的强大功能,包括路径与请求方式的映射。请求部分则深入探讨从无参到复杂对象传递的多种情况,以及后端参数重命名的技巧。开启高效开发之路。

Code哈哈笑的博客 4368

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Java EE】初识Spring Web MVC

Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在Spring框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为)Spring MVC).Servlet是⼀种实现动态⻚⾯的技术.准确来讲Servlet是⼀套Java Web 开发的规范,或者说是⼀套Java Web 开发的技术标准.

ZXT的博客 2075

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Spring MVC】MVC设计模式的Java Web框架

Spring MVC 是 Spring 框架中的一个模块,基于 Model-View-Controller (MVC) 设计模式,用于构建灵活和可扩展的 Java Web 应用程序。它通过前端控制器 DispatcherServlet 处理所有请求,并将请求分发给对应的控制器,负责业务逻辑处理,再将结果传递给视图进行渲染,简化了开发过程并实现了应用程序的高效组织和维护。​

科马的博客 3383

假人有限元模型

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

【Java EE进阶 --- SpringBoot】Spring Web MVC(Spring MVC)

MVC是Model View Controller的缩写,它是软件⼯程中的⼀种软件架构设计模式,它把软件系统分为模型、视图和控制器三个基本部分。

optimistic_chen的博客 1319
上一篇: JAVA 学习笔记 - 粘贴板+拖拽
下一篇: JAVA Spring web mvc 学习 之 1
yangyinet
博客等级 码龄19年 14粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值