Java框架_SpringMVC_day02_请求参数的绑定

Open3D 基于法线的双边滤波 基于法线的双边滤波是一种用于点云平滑的技术,它结合了点与其邻域点之间的几何距离和法线方向的相似性,从而在去除噪声的同时保留几何特征。这种滤波方法广泛应用于点云处理领域,尤其是在需要保留表面细节和边缘的场景中。 阅读详情

目录

三、请求参数的绑定

3.1 请求参数的绑定机制

3.2 基本数据类型和字符串类型

3.2.1 index.jsp

3.2.2 ParamController.java

3.3 实体类型(JavaBean)

3.3.1 封装 Account 类

3.3.2 index.jsp

3.3.3 Controller

3.3.4 Post 请求参数中文乱码问题的解决

3.4 给集合属性数据封装

3.4.1 index.jsp

3.4.2 Account.java

3.4.3 Controller

3.5 自定义类型转换器

3.5.1 User.java

3.5.2 index.jsp

3.5.3 Controller

3.5.4 自定义类型转换器(StringToDateConverter.java)

3.5.5 springmvc.xml 配置注册自定义类型转换器

3.6 在控制器中使用原生的 ServletAPI 对象

3.6.1 index.jsp

3.6.2 Controller


三、请求参数的绑定

3.1 请求参数的绑定机制

(1)绑定机制

       【1】表单提交的数据都是k=v格式的 username=haha&password=123

       【2】SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的

       【3】要求:提交表单的name和参数的名称是相同的

(2)支持的数据类型

       【1】基本数据类型和字符串类型

       【2】实体类型(JavaBean)

       【3】集合数据类型(List、map集合等)

3.2 基本数据类型和字符串类型

注意:

(1)提交表单的name和参数的名称是相同的

(2)区分大小写

3.2.1 index.jsp

<h3>传递参数</h3>
<a href="param/testParam?username=张三&age=18">传递参数(字符串和基本数据类型)</a>

3.2.2 ParamController.java

@Controller
@RequestMapping(value = "/param")
public class paramController {

    @RequestMapping(value = "/testParam")
    public String testParam(String username,Integer age){
        System.out.println("执行了 paramController 中的 testParam 方法!! username:"+username+"   age:"+age);
        return "success";
    }

3.3 实体类型(JavaBean)

(1)提交表单的name和JavaBean中的属性名称需要一致

(2)如果一个JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name

3.3.1 封装 Account 类

package com.cpz.domain;

import java.util.List;
import java.util.Map;

public class Account {
    private String name;
    private String password;
    private Double money;
    private User user;


}

3.3.2 index.jsp

<form action="param/saveAccount" method="post">
    账号:<input type="text" name="name"/><br>
    密码:<input type="text" name="password"/><br>
    金额:<input type="text" name="money"/><br>
    用户姓名:<input type="text" name="user.username"/><br>
    用户年龄:<input type="text" name="user.age"/><br>
    <input type="submit" value="提交"/>
</form>

3.3.3 Controller

    @RequestMapping(value = "/saveAccount")
    public String saveAccount(Account account){
        System.out.println("执行了 paramController 中的 testParam 方法!! account:"+account);
        return "success";
    }

3.3.4 Post 请求参数中文乱码问题的解决

在 web.xml 中配置 Spring 提供的过滤器类:

    <!-- 配置过滤器,解决中文乱码的问题 -->
    <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <!-- 指定字符集 -->
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

3.4 给集合属性数据封装

3.4.1 index.jsp

<form action="param/saveAccount" method="post">

    用户姓名(list):<input type="text" name="list[0].username"/><br>
    用户年龄(list):<input type="text" name="list[0].age"/><br>
    用户姓名(list):<input type="text" name="list[1].username"/><br>
    用户年龄(list):<input type="text" name="list[1].age"/><br>

    用户姓名(map):<input type="text" name="map['one'].username"/><br>
    用户年龄(map):<input type="text" name="map['one'].age"/><br>
    用户姓名(map):<input type="text" name="map['two'].username"/><br>
    用户年龄(map):<input type="text" name="map['two'].age"/><br>
    <input type="submit" value="提交"/>
</form>

3.4.2 Account.java

public class Account {
    private String name;
    private String password;
    private Double money;
    private User user;
    private List<User> list;
    private Map<String,User> map;
}

3.4.3 Controller

    @RequestMapping(value = "/saveAccount")
    public String saveAccount(Account account){
        System.out.println("执行了 paramController 中的 testParam 方法!! account:"+account);
        return "success";
    }

3.5 自定义类型转换器

3.5.1 User.java

public class User {
    private String username;
    private Integer age;
    private Date birthday;
}

3.5.2 index.jsp

<form action="param/saveUser" method="post">
    姓名:<input type="text" name="username"/><br>
    年龄:<input type="text" name="age"/><br>
    生日:<input type="text" name="birthday"/><br>
    <input type="submit" value="提交"/>
</form>

3.5.3 Controller

    @RequestMapping(value = "/saveUser")
    public String saveUser(User user){
        System.out.println("执行了 paramController 中的 saveUser 方法!! user:"+user);
        return "success";
    }

结论:默认支持的日期格式是:yyyy/MM/dd,如果输入yyyy-MM-dd呢?则会报错,怎么办呢?

3.5.4 自定义类型转换器(StringToDateConverter.java)

package com.cpz.utils;



import org.springframework.core.convert.converter.Converter;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

//把字符串转换成日期的转换器
public class StringToDateConverter implements Converter<String,Date> {
    //进行类型转换的方法
    public Date convert(String source) {
        // 判断,或者return null;
        if (source == null){
            throw new RuntimeException("参数不能为空");
        }
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = df.parse(source);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }
}

3.5.5 springmvc.xml 配置注册自定义类型转换器

    <!-- 注册自定义类型转换器 -->
    <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        <property name="converters">
            <set>
                <bean class="com.cpz.utils.StringToDateConverter"></bean>
            </set>
        </property>    

    <!-- 3:配置spring开启注解mvc的支持,自动开启处理器映射器和处理器适配器 -->
    <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>

3.6 在控制器中使用原生的 ServletAPI 对象

3.6.1 index.jsp

<a href="param/testServlet">测试ServletAPI</a>

3.6.2 Controller

    @RequestMapping(value = "/testServlet")
    public String testServlet(HttpServletRequest request, HttpServletResponse response, HttpSession session){
        System.out.println("执行了 paramController 中的 testServlet 方法!! request:"+request);
        System.out.println("session:"+request.getSession());
        System.out.println("application:"+request.getSession().getServletContext());
        System.out.println("response:"+response);
        return "success";
    }

 

YOLOv9实战:刀具磨损实时监控从摄像头到预测性维护(附车间落地代码) 摘要: 本文针对制造业刀具磨损监控痛点,提出基于YOLOv9的实时视觉检测方案。通过工业相机采集刀具图像,结合图像预处理(去油污、增强对比度)和深度学习模型,实现磨损等级分类与寿命预测。系统集成硬件选型(抗油污相机、红色环形光源)、数据增强(旋转、噪声模拟)及预测性维护(PLC联动),实测刀具利用率提升30%,工件报废率降至0.5%以下。详解车间部署、模型训练到系统落地的全流程,附代码与避坑指南,为工业视觉项目提供实战参考。 阅读详情

相关推荐

REST-meta-MDD Data总结

sMRI数据使用:nwc1、nwc2、nwc3(同样数据集相关论坛中有相关信息指向需要使用wc1、wc2、wc3)多方咨询与讨论后决定使用nwc数据,这里说明wc数据相对wc数据要大的多如wc1的大小为1.33GB,而nwc1的数据却有6.90GB。VBM文件:/REST-meta-MDD/Sharing/REST-meta-MDD-VBM- phase1 -Sharing.tar.gz。1、Excel中的表型信息:1-男,2-女;-9999或空白表示缺少数据。

2404_88295660的博客 1539

API成批分配漏洞介绍与解决方案

批量分配:在API的业务对象或数据结构中,通常存在多个属性,攻击者通过篡改属性值的方式,达到攻击目的。比如通过设置user.is_admin和user.is_manager的值提升用户权限等级;假设某API的默认接口调用参数为{"user_name":"user","is_admin":0},而恶意攻击者修改请求参数,提交值为{"user_name":"attacker","is_admin":1},通过修改参数is_admin的值来提升为管理员权限。

sinat_31583645的博客 7226

开关电源环路学习笔记(1)-为啥要知道传递函数?

做硬件都会接触到开关电源,或多或少会接触到环路补偿。很多兄弟们也提出来让我说说这个,说明大家也都很关心,也说明这个好像有点难。 就我个人而言,我也想搞明白环路这一块,也查了一些资料,视频,不过说实话,一直都还是懵的,感觉很困难。 具体感觉就是,看资料或视频的时候,感觉好像是那么回事。但是撇开之后,就又云里雾里的感觉,总有一些想法没有找到答案。 问题 比如下面我想过的问题: 开关电源有开关,根本就不是一个线性系统,传递函数是咋弄出来的? 系统环路框图的输入量为什么不是Vin,而是参考电压V

weixin_42005993的博客 1万+

【java安全扫描】 HCL AppScan Standard安全报告:API 成批分配问题

如果 API 端点自动将提供数据的客户机转换为内部对象属性,而不考虑这些属性的敏感度和暴露水平,则 API 端点容易受到成批分配攻击。如果SpringBoot使用的默认jackson做的序列化,可以考虑对jackson配置来解决传冗余参的问题。避免使用自动将客户机输入数据绑定到代码变量或内部对象的功能。API 成批分配利用可能导致特权升级、数据篡改、绕过安全机制。这是一个POST请求及其正确的传入的参数json。参数反序列化,向后台发送不需要的参数,而出现api成批分配问题的请求是。

qq_41973013的博客 4814

从.har文件到Postman集合:一键转换的完整教程(附避坑指南)

本文详细介绍了如何将.har文件高效转换为Postman集合的完整教程,涵盖基础操作到高级技巧,包括认证信息处理、环境变量提取等痛点问题的解决方案。通过抓包工具记录的.har文件,开发者可以快速生成Postman集合,提升API调试与测试效率,特别适合前后端分离开发模式下的团队协作。

weixin_26795617的博客 384

Qt | 开发过程中总结的经验

关于如何判断自己的Qt库是多少位,有个误区就是很多人要么看成了QtCreator的关于信息中列出的位数,要么以为自己是64位的系统就认为是64位的Qt,最终要在Qt构建套件中查看具体位数,大概从Qt5.14开始基本上很少提供32位的库,尤其是Qt6.0以后基本上默认就是只有64位的库了,这也是顺应时代潮流,毕竟不久的将来(个人预计2030年以前)基本上32位的系统占比不超过1%,放心大胆的用64位的库吧,抛弃烦人的32位以及XP系统。Qt常用类的头文件的函数看完学完使用一遍并加以融会贯通,月薪30K起步。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 491

常见的安全扫描漏洞的工具、漏洞分类及处理

1.1. Unix/Linux漏洞 升级相应产商的系统版本或查找对应漏洞的补丁文件1.2. OpenSSH漏洞 OpenSSH 输入验证错误漏洞(CVE-2019-16905) OpenSSH 命令注入漏洞(CVE-2020-15778) OpenSSH 安全漏洞(CVE-2021-28041) 修复建议: 一般也是升级相应的OpenSSH版本1.3Nginx漏洞 1.3.1导致拒绝服务漏洞 HTTP/2是超文本传输协议的第二版,主要用于保证客户机与服务器之间的通信。HTTP/2中存在资源管理错误漏洞。攻击

qq_41831448的博客 9885

YOLOv8剪枝 lamp剪枝测试精度仅掉0.7个点,速度提高11.8fps!

该摘要介绍了LAMP剪枝方法的创新点和理论分析,重点突出了其最小化L2失真和分层自适应剪枝的特性。LAMP通过引入ξ变量在最坏情况下优化剪枝失真,并简化了计算过程。文章还提供了代码移植的具体步骤,包括创建compress.py文件和相关配置说明。

FJN110的博客 1113

appscan扫出API成批分配问题解决

appscan扫出API成批分配问题解决

qq_41835151的博客 7177

新手必看!手把手教你在群晖 NAS 上玩转 Docker 容器(Container Manager)!(群晖 NAS 如何创建 Docker 容器以及 Compose 部署项目)

新手必看!手把手教你在群晖 NAS 上玩转 Docker 容器(Container Manager)!(群晖 NAS 如何创建 Docker 容器以及 Compose 部署项目)

XiaoqiangClub的博客 5162

揭秘大数据领域数据产品的开发流程

随着企业数字化转型加速,数据产品已成为驱动业务增长的核心载体。不同于传统软件产品,数据产品以数据为核心生产要素,通过数据采集、处理、分析与可视化,为用户提供决策支持或智能化服务。本文旨在系统性拆解数据产品开发的全生命周期,涵盖需求分析、数据工程、模型构建、产品设计、上线运维等关键环节,揭示各阶段的技术原理、实施路径与最佳实践,帮助技术团队与产品团队建立标准化开发流程。核心概念:定义数据产品本质,对比传统软件产品差异技术体系:拆解数据采集、处理、建模、可视化的技术栈与算法原理。

AI Agent Harness Engineering 480

API成批分配漏洞介绍与解决方案_api 成批分配

图3:完全扫描当我们启动【完全扫描】模式时,在【探索】位置我们可以对【URL和服务器】进行配置,配置方式和【扫描web应用程序】的配置方式一致。AppScan主界面中除了【web应用程序】和【完全配置】外,还有【web API】,web API的配置是不需要的填写URL的。图4:扫描web APIweb API虽然无需填写URL,但需要填写客户机和描述文件。漏洞条件:1、接口类型为,参数传值、form表单等类型暂未受影响。2、请求json参数不是接收参数的的任意属性。3、接口。

2401_86951321的博客 2819

yolov8x-p2 实现 tensorrt 推理

yolov8x-p2, tensorrt 实现.

J。 2273

SpringMVC第三篇_请求参数绑定

请求参数绑定 1. 请求参数绑定入门 1.1 创建 param.jsp %@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <%--请求参数绑定入门案例--%> <a href="user/testParam?us

weixin_44086832的博客 266

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

16 SpringMVC 的请求参数的绑定与常用注解

1.SpringMVC 绑定请求参数 (1)支持的数据类型 基本类型参数:  包括基本类型和 String 类型POJO 类型参数:  包括实体类,以及关联的实体类数组和集合类型参数:  包括 List 结构和 Map 结构的集合(包括数组) (2)使用要求 SpringMVC 绑定请求参数是自动实现的,但是要想使用,必须遵循使用要求。<1>如果是基本类型或者 Str...

weixin_30252155的博客 168

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SpringMVC入门——day01:SpringMVC执行流程的全代码及请求参数的绑定

1. 上一篇SpringMVC的执行流程的全代码 HelloController.java //控制器类 @Controller //加Controller注解功能是把这个类交给IOC容器进行管理 @RequestMapping(path = "/user") public class HelloController { //Request表示请求,Mapping表示映射。 ...

dl674756321的博客 374

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SpringMVC-学习笔记02【参数绑定及自定义类型转换】

SpringMVC-学习笔记02【参数绑定及自定义类型转换】

upward 740

springmvc参数绑定

当项目中引入springmvc框架后,所有的请求流转将由springmvc进行控制,当客户端发送的请求中包含数据(也就是请求参数)时,那么该如何在controller层获取这些参数呢?springmvc会自动的将请求中包含的参数和方法的参数进行匹配,也就是说只要保证,请求中的参数名称和方法中的参数名称相对应(另,参数的格式也要正确),在方法中就可以使用这些参数—即请求中的参数。类型:1、基本类型参数绑定。

weixin_58069198的博客 512

Day24 SpringMVC 参数绑定***

SpringMVC的参数绑定-基本类型绑定 1、什么是参数绑定 用户请求服务器的时候会给后台传递参数, 如何来快速的接收到用户传递的参数 传统方式 在Controller中的方法的形式参数上直接声明HttpServletRequest, HttpServletResponse , HttpSession 直接将获取的值,作为形参 必须保证:传入的参数的名字和本方法形参的名字一致 即url?cid=1 对应方法的参数是xx (String cid) springmvc的内部有默认的类型转换器: String

qq_43639081的博客 165

Day24SSM之SpringMVC 参数绑定***

SpringMVC的参数绑定-基本类型绑定 (1)什么是参数绑定 用户请求服务器的时候会给后台传递参数, 如何来快速的接收到用户传递的参数 username=jack passwrod=123456 》》传统方式 在Controller中的方法的形式参数上直接声明HttpServletRequest, HttpServletResponse , HttpSession 》》直接将获取的值,作为形参 必须保证:传入的参数的名字和本方法形参的名字一致 url?cid=1 对应方法的参数是xx (Str

翁老师的教学团队 481

SpringMVC框架学习

文章目录三层架构和MVC1、三层架构2、MVC模型SpringMVC入门案例学习SpringMVC的入门程序 三层架构和MVC 1、三层架构 使用Java语言基本上都是开发B/S架构的程序,BS架构又分成了三层架构 * 表现层:web层,用来和客户端进行数据交互的。表现层一般会采用MVC的设计模式 * 业务层:处理公司具体的业务逻辑的 * 持久层:用来操作数据库的 2、MVC...

OceanStar的博客 1298

4Spring MVC 请求参数绑定

第三章:请求参数的额绑定 1请求参数的绑定说明 1绑定机制 1.表单提交的数据都是k=v格式的 username=haha&password=123 username=hehe&passwd=123 MVC框架, sayHello(String username, String password) 2.sp...

张金玉的专栏 192

springMVC_day04_请求参数绑定

默认类型的参数绑定 HttpServletRequest,HttpServletResponse,HttpSession,Model 条件 url传递的参数名必须和request.getParameter(参数名一致) 案例 controller package com.itheima.controller; import java.util.List; import javax...

Jesson_study 182

SpringMVC Day 04 : 数据绑定

数据绑定是一种编程技术,用于将数据模型的值自动地与用户界面元素(如文本框、标签、下拉菜单等)进行同步。当数据模型中的值发生变化时,这些变化会自动地反映在用户界面元素中,反之亦然。数据绑定可以减少开发人员的工作量,提高应用程序的可维护性和可重用性。数据绑定可以分为单向绑定和双向绑定两种类型。单向绑定是指只有在数据模型中的值发生变化时,才会更新用户界面元素的值。而双向绑定则是指在数据模型中的值发生变化时,不仅会更新用户界面元素的值,同时也会将用户界面元素中的值更新到数据模型中。

zhiqiuqiu2的博客 797

java day61【 SpringMVC 的基本概念 、 SpringMVC 的入门 、 请求参数的绑定 、常用注解 】...

第1章 SpringMVC 的基本概念 1.1关于三层架构和 MVC 1.1.1 三层架构 1.1.2 MVC 模型 1.2SpringMVC 概述 1.2.1 SpringMVC 是什么 1.2.2 SpringMVC 在三层架构的位置 1.2.3 SpringMVC 的优势 1.2.4 SpringMVC 和 Struts2 的优略分析 ...

weixin_30590285的博客 102

05 SpringMVC:day01\02.参数绑定及自定义类型转换

05 SpringMVC 02.参数绑定及自定义类型转换 1 请求参数绑定入门、2 请求参数绑定实体类型、3 配置解决中文乱码的过滤器、4 请求参数绑定集合类型 5 自定义类型转换器演示异常、6 自定义类型转换器代码编写、7 获取Servlet原生的API 1 请求参数绑定入门 第三章:请求参数的绑定1. 请求参数的绑定说明(1). 绑定机制 1). 表单提交的数...

Marlon康 234
上一篇: Java框架_SpringMVC_day01_概念和入门
下一篇: Java框架_SpringMVC_day03_注解开发
chipeize
博客等级 码龄10年 23粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值