Spring入门学习之Spring MVC(part 1)

SpringMVC_RequestPart_文件上传_example.rar 立即下载

Spring MVC

Spring MVC是Spring框架中用于Web应用快速开发的一个模块。Spring MVC基于Spring框架、Servlet和JSP。所以接下来先分别对Servlet和JSP做简单了解。

 

Servlet

1.      运行servlet需要servlet容器,例如Tomcat

2.      如果想让某个资源可以被servlet访问,但是不可以被用户访问,那么需要放到WEB-INF下

3.      ServletRequest: 对于每一个HTTP请求Servlet容器都会创建一个ServletRequest实例。并将它传给service方法。getParameter是ServletRequest中最常用的方法。该方法可以用来获取html表单域的值或者用于获得查询字符串的值。例如获取http://localhost:8080/personal/delete?id=112   该url中id的值:request.getParameter(“id”);

4.      ServletResponse: servlet响应。

5.      ServletResponse和ServletRequest默认的处理与前台的数据交互的编码是ISO-8859-1,所以在在项目中要做相应处理比如设置为UTF-8以防止乱码,这个在我的个人博客开发问题总结中会提到。

6.      HttpServlet区别Servlet:

1)      不用覆盖service方法而是覆盖doGet()或者doPost();

2)      与HttpServletRequest和HttpServletResponse共用。

7.      HttpServletRequest中的常用方法:

1)      Cookie[] getCookies():返回一个cookie对象数组

2)      String getMethod() : 返回这个请求的HTTP方法名称

3)      String getQueryString() :返回URL中的查询字符串

4)      HttpSession getSession() :返回与这个请求相关的会话对象。如果没有,将创建一个。

8.      HttpServletResponse中的常用方法:

1)      Void addCookie(Cookie cookie):给相应添加一个cookie

2)      Void sendRedirect(Sstring location):发送一条响应码,将浏览器跳转到指定位置。

9.      HTML输入域中的或者文本区域的值会以字符串的形式发送给服务器。空的输入域或者文本区域会发送空的字符串,所以有输入域名称的ServletRequest.getParameter绝对不会返回null。

JSP(JavaServer Pages)

1.      JSP页面本质上是一个Servlet。

2.      JSP需要在JSP容器中运行,一个Servle容器通常也是JSP容器,例如Tomcat。

 

部署描述符(web.xml)

1.      部署描述符必须命名为web.xml并且位于WEB-INF目录下,Java类需放置在WEB-INF/classes目录下,Java类库则必须位于WEB-INF/lib目录下。

2.      以下情况下需要用到部署描述符:

1)      需要传递初始参数给ServletContext

2)      有多个过滤器,并且指定调用顺序。

3)      需要更改会话超时设置。

4)      要限制资源的访问,并配置用户身份验证方式。

3.      Web.xml子元素介绍:

1)      <context-param>:传值给servletContext,这些值可以被任何Servlet/JSP页面读取。可以通过调用ServletContext的getInitParamter方法濑读取。

2)      <error-page>:该元素包含一个HTTP错误与资源路径或Java异常与资源路径之间的映射关系。Error-page元素定于容器在特定HTTP错误或异常时应返回的资源路径。Error-page元素由如下成分构成:

l  Error-code,指定一个HTTP错误代码。

l  Exception-type,指定java的异常类型(全路径名称)。

l  Location,指定要被显示的资源位置。该元素必须以“/”开始。

下面的配置告诉Servlet/JSP容器,当出现HTTP 404时,显示位于应用目录下的error.html页面。

<error-page>
       <error-code>404</error-code>
<location>/error.html</location>
</error-page>


下面的配置告诉Servlet/JSP容器,当发生ServletException时,显示exception.html页面。

<error-page>
       <exception-type>javax.servlet.ServletException</exception-type>
<location>/exception.html</location>
</error-page>


4.      <filter>: 指定一个Servlet过滤器。该元素至少包括一个filter-name元素和一个filter-class元素。此外还可以包含以下元素:icon、display-name、discription、init-param以及async-supported。Filter-name元素定义了过滤器的名称。过滤器名称必须全局唯一。Filter-class元素指定过滤器类的全路径名称。可由init-param元素来配置过滤器的初始参数,一个过滤器可以有多个init-param。

5.      <filter-mapping>:指定过滤器要被映射到的一个或多个资源。过滤器可以被映射到Servlet(<filter-name> + <servlet-name>)或者URL模式(<filter-name> + <url-pattern>)。将过滤器映射到Servlet会致使过滤器对该servlet产生作用。将过滤器映射到URL模式,则会使其对所有URL与该URL模式匹配的资源进行过滤。过滤的顺序与过滤器映射元素在部署描述符中的顺序一致。<filter-name>元素的值必须与利用<filter>元素声明的某一个过滤器名称一致。例子:

<filter>
       <filter-name>SecurityFilter</filter-name>
<filter-class>com.example.SecurityFilter</filter-class>
</filter>
<filter-mapping>
       <filter-name>Security Filter </filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


                 

6.      <listener>:注册一个监听器。其子元素<listener-class>包含监听器的全路径名。

<listener>
       <listener-class>com.example.Applistener</listener-class>
</listener>


7.      <servlet> 和 <servlet-mapping>

8.      <welcome-file-list>:指定欢迎页面,可以指定静态页面或者Servlet。

9.      …以后用到的再来添加

 

 

从‘哒哒’声到静音顺滑:一文搞懂42步进电机细分控制的原理与实战(以TMC5160为例) 本文详细解析了42步进电机细分控制技术,以TMC5160为例,探讨如何通过正弦波电流调制和自适应波形整形实现静音运行。文章提供了实战配置指南,包括硬件连接、寄存器配置和调试技巧,帮助用户有效消除电机噪声,提升3D打印机、CNC机床等设备的运行效率。 阅读详情

相关推荐

CRaxsRat v7.6 安装与使用教程(附工具下载)

摘要:本文介绍远程管理工具CRaxsRat v7.6的合法应用与基本操作,强调仅限授权环境使用。该工具支持多客户端管理、TLS加密及文件/进程控制等功能,适用于内网维护与安全测试。安装需Windows 10/11系统及.NET 4.8,步骤包括解压运行、配置监听端口及生成客户端。文中提醒防火墙设置与杀软误报问题,并重申禁止非法用途,建议在虚拟机或隔离环境学习使用。

lzj781210的博客 3795

Spring 注解面面通 之 @RequestPart

  @RequestPart用于将multipart/form-data类型数据映射到控制器处理方法的参数中。除了@RequestPart注解外,@RequestParam同样可以用于此类操作。   注解解析   ① value:     绑定的参数名称,参数值为String类型。   ② name:     绑定的参数名称,参数值为String类型。name和value可以同时使用,但两者的值需一致,否则会出现错误。 attribute 'name' and its alias 'value' are p

键盘上流淌的日子 3万+

智能车竞赛疯狂电路组:Altium Designer赛道设计与计分策略全解析

本文全面解析智能车竞赛疯狂电路组中,如何利用Altium Designer进行专业赛道设计。从软件基础操作、图层管理与封装库调用,到赛道拓扑绘制、核心尺寸规范,详细拆解设计全流程。文章深入结合计分策略,指导如何在设计阶段植入策略点,优化路径与元器件布局,以在比赛中获得时间优势,并提供了从图纸输出到实地测试的完整避坑指南。

beta5的博客 586

SpringMvc @RequestParam、 @RequestBody、@RequestPart 的区别

注解@RequestParam接收的参数是来自requestHeader中,即请求头。 RequestParam可以接受简单类型的属性,也可以接受对象类型。 @RequestParam有三个配置参数: required 表示是否必须,默认为 true,必须。 defaultValue 可设置请求参数的默认值。 value 为接收url的参数名(相当于key值)。 @RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内

weixin_43966635的博客 4545

IDEA+JRebel实现SpringBoot+MyBatis Plus项目热部署全攻略(含XML热更新实战)

本文详细介绍了如何在IDEA中使用JRebel为SpringBoot与MyBatis Plus项目配置高效的热部署方案。通过安装激活JRebel插件并配置关键扩展,重点解决了MyBatis XML映射文件修改后无法即时生效的痛点,实现了Java代码与XML文件的秒级热更新,从而彻底摆脱频繁重启应用的开发困境,大幅提升编码与调试效率。

weixin_28831341的博客 473

LVGL配置文件lv_conf.h详解

lv_conf.h是一个用户级别的文件,它不属于内核的部分,因此,在不同的工程中,该文件有可能存在差异。lv_conf.h文件具有两大功能:(1)配置功能:内存、屏幕刷新周期、输入设备的读取周期,等等;(2)裁剪功能:使能失能某些功能,有效地优化Flash的分配。

qq_28576837的博客 5561

@RequestParam和@RequestPart的区别

@RequestPart @RequestPart这个注解用在multipart/form-data表单提交请求的方法上。 支持的请求方法的方式MultipartFile,属于Spring的MultipartResolver类。这个请求是通过http协议传输的 @RequestParam @RequestParam支持’application/json’,也同样支持multipart/form-data请求 区别 当请求方法的请求参数类型不是String 或 MultipartFile / Pa

借物小人的博客 4万+

构建高效的LLM应用测试框架

《构建高效的LLM应用测试框架》 关键词:LLM,测试框架,应用测试,效率优化,测试原理 摘要:本文将深入探讨构建高效LLM应用测试框架的必要性、方法与步骤,旨在为开发者提供一套系统化、可操作的测试解决方案,从而提升LLM

AI天才研究院 1049

SpringBoot @RequestPart 同时接收文件和复杂json数据

let formData = new FormData(); formData.append('stream', that.file); // formData.append("fileTemplateConfs", new Blob([JSON.stringify({"title": "测试标题", "type": 3})], {type: "application/json"})); console.log(JSON.stringify(fileData...

时越的博客 6828

【深度学习新浪潮】算力上太空:NVIDIA Space-1 Vera Rubin Module 深度技术解析

NVIDIA Space-1 Vera Rubin Module 不只是一款芯片模组,它是天地一体化 AI 的基础设施底座。它用成熟的 GPU 架构 + 航天级加固,把地面 AI 生态直接平移到太空。下一个 AI 创新战场,不在云端,而在轨道。在轨 LLM星上多模态实时处理卫星自主组网与分布式推理太空算力成为云计算的一级节点参考资料NVIDIA 官方博客:NVIDIA 推出太空计算,将 AI 送入太空轨道GTC 2026 黄仁勋主题演讲。

专注:太空算力、AI infra、异构调度、大模型成本工程 1128

灵境视界:基于云计算与深度学习的智能手语识别AR眼镜

灵境视界”不仅仅是一款AR眼镜,它代表了未来无障碍沟通设备的发展方向。随着云计算与深度学习技术的不断进步,未来我们将进一步优化识别算法,提升翻译精度,并扩展更多语言和手语类型,为全球听障人士提供更加全面的沟通解决方案。是一款融合了云计算与深度学习技术的增强现实(AR)眼镜,专为听障人士和手语使用者设计。这款眼镜不仅具备先进的AR显示功能,还能实时识别并翻译手语,打破听障人士与健听人士之间的沟通障碍,推动无障碍社会的建设。,让沟通无界,视界无限。

qq_62634009的博客 727

Spring 注解面面通 之 @RequestPart参数绑定源码解析

  Spring MVC中使用HandlerMethodArgumentResolver策略接口来定义处理器方法参数解析器,@RequestPart使用的是RequestPartMethodArgumentResolver,@RequestParam使用的是RequestParamMethodArgumentResolver,,接下来一起来深入了解一下其源码实现。   类结构   类解析   HandlerMethodArgumentResolver和AbstractNamedValueMethodAr

键盘上流淌的日子 1607

运行后选择GDB/LLDB出现这样的窗口:launch: program ‘输入程序名称,例如 D:\Desktop\新建文件夹\a.exe‘ does not exist...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1132

SPRING IN ACTION: 春天在行动-PART 1

提供有关春天新事物的指南!PART 1 FOUNFATIONAL SPRING

Username1898625 572

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spring 3 MVC - Part 1 & Part 2 (with log4j)

  Part 1: Introduction to Spring 3.0 MVC framework   Part 2: Create Hello World Application in Spring 3.0 MVC    

TJJ 120

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spring(Spring MVC):Part one

I think read open source code is a good way to  learn programming skill.DI is very important in OO programming,and Spring is a very power IoC container in Java world.So I choose Spring to learn. If y...

weixin_34159110的博客 102

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Spring MVC 的高级技术

一、处理 multipart 形式的数据 1、配置multipart解析器 Spring内置的两个解析器: CommonsMultipartResolver :使用Jakarta Commons FileUpload 解析 StandardServletMultipartResolver :依赖于Servlet 3.0 对multipart请求的支持(始于Spring 3.1) 配置 Stan...

pengxs1的博客 337

Spring MVC 处理 multipart 形式的数据

multipart格式的数据会将一个表单拆分成为多个部分,每个部分对应一个输入域 1. 配置multipart解析器 Spring中通过MultipartResolver接口的实现类来解析multipart请求中的内容,从Spring3.1开始,Spring内置了两个它的实现类: CommonsMultipartResolver:使用Jakarta Comomons FileUpload 解析m...

sakuragio的博客 349

Spring入门学习之Spring MVC(part 2)

Spring MVC MVC设计模式        SpringMVC框架当然也是基于MVC设计模式的框架。MVC设计模式包含模型、视图、控制器三个模块。视图负责应用的显示(例如JSP/html),模型封装了应用的数据和业务逻辑,控制器负责接受用户的输入,改变模型,以及调整视图的显示。        其中servlet或者filter都可以充当控制器。Spring MVC 和 Struts1

java_hxc_sz的博客 485

(Spring文档翻译)Part V, the Web 17.1 Spring Web MVC framework介绍

指南文档的这个部分涵盖了Spring框架对表现层(特别是基于We

刘正阳的专栏 1339

Spring总结part1

Spring第一章:简介 Spring优点: 解耦、aop、声明式事务、集成 Spring结构体系: 主要5个模块 核心包: <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring...

Vincentqqqqqqq的博客 214

摸透Spring MVC真正如何工作核心原理(part:1)

通过优锐课核心Spring MVC学习笔记中,我们可以看到Spring MVC中包含的功能可以在Web应用程序中发挥巨大作用的强大功能。 这是Spring Web MVC的强大功能和内部工作的深入研究,它是Spring Framework的一部分。 1、项目设置 在整篇文章中,将使用最新,最出色的Spring Framework5。我们在这里重点介绍Spring的经典Web堆栈,该框架的第一版已经...

AD_plus的博客 301

Spring 3 MVC and Hibernate 3 Example Part 1

This tutorial explains how to use annotations with spring 3 MVC and hibernate 3 based application to make the development easier and faster than ever before. Spring 3 MVC and Hibernate 3 Example app...

weixin_30951231的博客 66

Spring in action--Part2-Spring On The Web

Chapter5.Building Spring web applicationsState management, workflow, and validation are all important features a java web developer needs to be addressed. None of these is made any easier given the HT

3241

《Spring揭秘》学习摘要 Part1

EJB是使用J2EE平台各项服务的一种方式,但不是唯一的方式。对于分布式系统来说,是用EJB在某些方面确实可以带给我们很大的收益,但并不是所有的J2EE应用都要用于分布式环境。(其实即便是在分布式环境下,EJB也不见得是最优的解决方案)。        使用EJB,通常意味着需要引入拥有EJB Container的应用服务器(J2EE Application Server)的支持;

669
上一篇: Spring入门学习(二)
下一篇: MySQL 操作总结(一)
java_hxc_sz
博客等级 码龄10年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值