Spring MVC学习笔记(一)--从网页接受数据方式

数据库和网页之间的数据交互 浏览器发送请求 localhost:8080/home 通过thymeleaf (xmlns:th=“http://thymeleaf.org”>)和model.addAttribute实现 服务器和网页的连接 通过userDao里面的jdbcTemplate的方法实现服务器和数据库的操作 spring MVC 其实是通过服务器作为中介实现页面和数据库的数据交互 1.Controller部分... 阅读详情

从URL请求中获取请求参数方式有以下五种

方式描述
一将请求参数放在Controller参数列表中
二通过HttpServletRequest获取请求参数
三使用ModelAttribute + POJO的方式,将请求参数绑定在POJO中
四使用@RequestAttribute方式获取绑定请求参数
五使用@PathVariable方式获取请求参数
六使用@CookieValue方式获取Cookie参数

方式一:将请求参数放在Controller参数列表中

package controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by luckyboy on 2018/7/17.
 */
@Controller
public class RequestRevceiveController {
    private static Logger logger = LoggerFactory.getLogger(RequestRevceiveController.class);

    /**
     * 1、将表单参数直接写入到controller方法的参数列表中
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value="/method1",method = RequestMethod.POST)
    public String method1(String username,String password){
        logger.info("method1 : "+username+"--"+password);
        return "/index";
    }

方式二:通过HttpServletRequest获取请求参数

package controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by luckyboy on 2018/7/17.
 */
@Controller
public class RequestRevceiveController {
    private static Logger logger = LoggerFactory.getLogger(RequestRevceiveController.class);
    /***
     * 2、使用HttPServletRequest 获取参数
     * @param request
     * @return
     */
    @RequestMapping(value="method2",method = RequestMethod.POST)
    public String method2(HttpServletRequest request){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        logger.info("method2 : "+username+"--"+password);
        return "/index";
    } 
}

方式三:使用ModelAttribute + POJO的方式,将请求参数绑定在POJO中

package controller;

import entity.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by luckyboy on 2018/7/17.
 */
@Controller
public class RequestRevceiveController {
    private static Logger logger = LoggerFactory.getLogger(RequestRevceiveController.class);
    /**
     * 3、使用@ModelAttribute + POJO的方式获取参数
     * @param user
     * @return
     */
    @RequestMapping(value="/method3")
    public String method3(@ModelAttribute("user") User user){
        logger.info("method3 : "+user.getUsername()+"--"+user.getPassword());
        return "/index";
    }
}

方式四:使用@RequestAttribute(value=”?”,required=false/true)方式获取绑定请求参数

package controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by luckyboy on 2018/7/17.
 */
@Controller
public class RequestRevceiveController {
    private static Logger logger = LoggerFactory.getLogger(RequestRevceiveController.class);
    /**
     * 4、使用@RequestParam(value="参数名",required=false/true)
     * 如果required = false,表示请求参数中不一定要有这个参数
     * 如果required = true,表示请求参数中一定要有这个参数,否则会出错
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value="/method4")
    public String method4(@RequestParam(value = "username",required =  false )String username,
                          @RequestParam(value = "password",required = false ) String password){
        logger.info("method4 : "+username +"--"+password);
        return "/index";
    }
}

方式五:使用@PathVariable方式获取请求参数

package controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by luckyboy on 2018/7/17.
 */
@Controller
public class RequestRevceiveController {
    private static Logger logger = LoggerFactory.getLogger(RequestRevceiveController.class);
    /**
     * 5、使用@PathVariable注解方式获获取路径中传递参数
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value="/method5/{username}/{password}",method=RequestMethod.GET)
    public String method5(@PathVariable String username,@PathVariable String password){
        logger.info("method5 : "+username +"--"+password);
        return "/index";
    }
}

使用@PathVariable方式获取请求参数,那么URL一定是 http://http:localhost:8088/method5/markliwei/mark这样的形式,不适合用于表单提交的方式,比较适合用于URL重写的方式获取请求参数。

Tomcat 与 Spring Boot、Spring MVC Tomcat是Java生态中广泛使用的开源Web服务器,作为Servlet容器负责运行Java Web应用,将代码转化为可访问的服务。它支持Servlet和JSP规范,适合中小型项目。SpringBoot通过内嵌Tomcat简化了部署流程,并自动配置DispatcherServlet作为前端控制器,开发者无需直接处理Servlet。SpringMVC是专注于Web层的框架,而SpringBoot是整合了SpringMVC等组件的快速开发工具。 阅读详情

相关推荐

人工智能,不止于模型:四步实现完整工作流

工程师越来越多地致力于将人工智能 (AI) 集成到自己的项目和应用中,同时不断着力提升自己的 AI 技能。面对 AI 问题,工程师首先要了解什么是 AI,以及如何将它纳入当前工作流,这看似简单,实则未必容易。在 Google 中搜索“什么是 AI?”会得到数百万条结果,包括不同程度的技术和相关信息。那么,对工程师而言,AI 意味着什么?人们对 AI 的关注主要集中在 AI 模型上,受此影响,工程师会迅速投入 AI 建模的研究。

r1832644594的博客 2818

【Maven学习笔记】3:在Eclipse的Maven项目下pom.xml中添加Spring MVC的jar包构建项目

添加jar包 Maven的方便之处就在于不用手动下载依赖,只要在pom.xml中书写要用的jar包,就会连带它要使用的依赖一起下载。 在pom.xml文件中,<properties>标签内添加变量,用来保存后面要添加的jar包的版本: <!-- 添加一个指示Spring版本的变量,在后面会引用到 --> <springVersion>4.2.3.REL...

大桔骑士的学习笔记 3294

NCCL 源码深度解析:从初始化到通信链路构建全流程

本文深入解析了NVIDIA Collective Communication Library (NCCL) 的核心工作机制,从通信组初始化、硬件拓扑发现,到P2P、共享内存及网络传输链路的构建。详细剖析了源码中集合通信任务的执行流程与Proxy线程的协同机制,为开发者进行高性能分布式训练的性能调优与深度问题排查提供了清晰的底层视角。

hp777的博客 551

【SpringMVC】基于 Spring 的 Web 层MVC 框架

Spring MVC(Model-View-Controller)是Java世界中最流行的Web应用程序开发框架之一。它提供了一种结构化的方法来构建强大的Web应用程序,使开发人员能够轻松管理请求和响应、处理表单提交、进行验证以及与数据库进行交互。本文将深入探讨Spring MVC的核心概念和工作原理,帮助你更好地理解并利用这个强大的框架来构建Web应用程序。

dandelionl_的博客 8286

告别数据丢失焦虑:用Python手把手实现Reed-Solomon码(附完整代码)

本文详细介绍了如何使用Python实现Reed-Solomon纠错码(RS码),帮助开发者有效防止数据丢失。通过基础编解码实战、文件保护方案和高级性能优化技巧,读者可以轻松掌握这一前向纠错技术,应用于物联网、文件存储和网络传输等场景,提升数据可靠性。

weixin_42527160的博客 224

硬件学习笔记(器件篇)—— 磁珠与磁环

因为有这些差别,所有经常会让人们觉得他们并不是一类器件,但实际上他们的原理是一样的。我们使用磁珠是为了利用损耗消耗高频能量,所以如果我们理解了磁珠是如何消耗高频能量的,我们就能理解磁珠的工作原理。

y_u_yu_yu_的博客 1万+

Spring MVC 返回数据

1、Tomcat 和 Servlet 分别是什么?有什么关系?Servlet 是 java 官方定义的 web 开发的标准规范;Tomcat 是 Servlet 容器(遵循 Servlet 规范来实现的 Web 服务器),可以统一管理 Servlet (整个生命周期)。2、SpringMVC 和 Web 服务器,Servlet 的关系?SpringMVC 是内置的定制过的 Web 服务器,而 Web 服务器遵循 Servlet 规范。

2401_87463146的博客 1383

AWS SQS跨账户访问失败排查指南

在使用AWS SQS(Simple Queue Service)时,跨账户访问是常见的业务场景。例如,账户A的应用程序向队列发送消息,账户B的消费者从队列拉取消息。尽管AWS官方文档明确支持此类配置,但在实际应用中,由于权限模型的复杂性,开发者和运维人员常会遇到“策略已配置但无法接收消息”的问题。通过本文的逐步排查指南,您不仅可以解决当前问题,还能深入理解AWS跨账户访问的权限模型。接收方账户的用户或角色必须同时附加IAM策略,显式授权操作目标队列。尽管策略看似允许接收方操作,实际测试中却返回空消息或。

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 459

Spring Web MVC

今天来复习 Spring Web MVC根据官方描述,Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从一开始就被纳入了 Spring 框架之中。其正式名称 “Spring Web MVC” 源于它的源模块名称(spring-webmvc),不过在日常开发中,我们通常简称它为 “Spring MVC”。那么,这里提到的 Servlet 又是什么呢?简单来说,Servlet 是一种实现动态页面的技术,更准确地讲,它是一套 Java Web 开发的规范,或者说是技术标准。

Y_1215的博客 1848

汽车IVI中控开发入门及进阶(九):显示屏

显示屏Display panel和触控屏Touch panel,可以说随着汽车四化的进展,屏越来越多,越来越大,越来越高清,成为IVI中控、智能座舱系统的重要组成部分。比如如下一个电阻触摸屏。正文:显示屏主要功能就是显示,车载内容和信息的传递全靠显示屏,目前车载显示屏的种类可以分为:LCD液晶显示屏(TFT(薄膜晶体管)驱动的有源矩阵液晶显示,再细分IPS、TFT、SLCD,这几个子类)、LED显示屏(用 LED发光二极管作为背光光源)、OLED 显示屏。

码农17年的博客 2527

flowable工作流看这一篇就够了(基础篇)

接下来我们构建一个非常简单的请假流程,Flowable引擎需要流程定义为BPMN 2.0格式,这是一个业界广泛接受的XML标准。在Flowable术语中,我们将其称为一个流程定义(process definition)。一个流程定义可以启动多个流程实例(process instance)。流程定义可以看做是重复执行流程的蓝图。在这个例子中,流程定义定义了请假的各个步骤,而一个流程实例对应某个雇员提出的一个请假申请。

qq_38196449的博客 2万+

Spring MVC 网页显示数据

web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.su...

方法属性类,一个都不会 437

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Spring学习笔记04:spring mvc和Spring Boot之间是什么关系?

想象你开了一家餐厅,顾客(用户)点菜、服务员传话、厨师做菜、最后服务员上菜。,专门用于处理网页请求(HTTP)和响应。

weixin_42844704的博客 1356

VB摄像头监控

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ruoyi 中Spring IOC、DI 、MVC

【IOC】例如在ServerConfig中先注册Bean 到Spring 容器:@Component。

m0_75233747的博客 1208

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

spring-mvc实现模拟数据到网页展示过程代码

     spring-mvc实现模拟数据到网页展示过程代码   先看看我们的3种模拟数据到网页展示的思路图:        1.当mybatis的环境配置完成。一个动态Web项目建立好。开始导入jar包。       -spring的aop,aspects,context,beans,core,expression,jdbc,tx,web,webmvc jar包导入     ...

diyingshou8608的博客 212

Spring入门(二):Spring MVC模型

springMVC 迷迷糊糊接触了几天的spring和springMVC,结果脑子里还是迷得不行。

Apollo 2477

Spring MVC复习笔记

/ 使用@RequestBody注解,可以将请求体中的数据反序列化成您指定的对象类型,适用于传输数据为一个自定义的对象要求添加 Jackson 依赖(Spring Boot 默认包含)请求头设置支持校验注解(如@NotBlank。

2302_77465225的博客 779

Spring MVC学习日志

MVC学习,结合spring做了一个mvc思想下的网站开发内容

weixin_62713188的博客 1149

Spring MVC(一)

本文介绍了Spring WebMVC框架的核心概念和使用方法。文章首先解释了Spring MVC是基于Servlet API的Web框架,遵循MVC设计模式,将系统分为模型、视图和控制器三部分。重点讲解了如何通过@RequestMapping注解建立URL路由映射,支持GET和POST请求,并详细说明了参数传递的多种方式,包括单个参数、多个参数、对象、数组和集合的接收处理。文中还通过代码示例演示了@RequestMapping的灵活配置方式和参数绑定的具体实现,为学习Spring MVC提供了实用指导。

qq_71356343的博客 218

Spring总结之Web MVC

MVC是Web开发的一种流行架构思想,为了改正以前代码逻辑视图混乱不堪的状况而总结出来的一种模式。在最早是受到观察者模式的启发(观察者模式类似于Java Swing里的ActionListener)。记得大三还在学校自己泡图书馆的时候Struts是很风靡的MVC框架,也可以说是流行起来的第一个比较标准的MVC实现。在Spring推出之后,Spring自己也提供了一套MVC框架,在工作和学习中二

Ant Ren的专栏 1960

Spring MVC 入门之 设置响应

使用spring MVC 来返回数据或者 页面,设置header 以及 状态码

m0_74209411的博客 1473

Servlet JSP和Spring MVC初学指南

最近系统学习了下servlet,JSP和spring MVC的知识,推荐一本入门参考书《Servlet、JSP和Spring MVC初学指南》,作者是加拿大人Budi Kurniawan和美国人Paul Deck,林仪民、俞黎敏译。该书共24章,主要分为两部分,第一部分讲解Servlet的相关知识;第二部分讲解Spring MVC。书中每一章中都配有代码,可以对着书本敲一下,加深理解。 首先,什么...

nfzhlk的专栏 3922

spring MVC 学习笔记(一)

spring MVC 学习笔记(一) 基本模式 1. 用户访问网页 2. 根据web.xml中的配置 所有的访问都会经过DispatcherServlet 3. 根据 根据配置文件springmvc-servlet.xml ,访问网页的路径 会进入控制类 4. 在IndexController中指定跳转到jsp页面,并传递message数据 5. 在jsp中显示message信息 Spring ...

赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。 176
上一篇: Mysql-LIMIT子句详解
下一篇: Javaweb-分页查询
markliwei1
博客等级 码龄10年 26粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值