网站备案要多久时间苏州网上注册公司网址

diannao/2026/1/20 15:48:55/文章来源:
网站备案要多久时间,苏州网上注册公司网址,在线看crm系统,溧阳企业网站建设0、测试环境 我们简化开发#xff0c;创建一个简单的环境#xff08;因为没有其它包比如 service、dao#xff0c;所以这里不用 Spring 容器#xff0c;只用 SpringMVC 容器#xff09;#xff1a; Servelet 容器配置#xff1a; package com.lyh.config;import org.s…0、测试环境 我们简化开发创建一个简单的环境因为没有其它包比如 service、dao所以这里不用 Spring 容器只用 SpringMVC 容器 Servelet 容器配置 package com.lyh.config;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;/*** Servlet 容器配置类*/ public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {protected Class?[] getRootConfigClasses() {return new Class[0];}protected Class?[] getServletConfigClasses() {return new Class[]{SpringMvcConfig.class};}protected String[] getServletMappings() {return new String[]{/};} }注意有了这个就不需要 web.xml 了不然启动 tomcat 会报错  SpringMVC 配置 package com.lyh.config;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;Configuration ComponentScan(com.lyh.controller) // 扫描 public class SpringMvcConfig {}UserController package com.lyh.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;Controller public class UserController {RequestMapping(/save)ResponseBodypublic String save(){return {module:user save};}RequestMapping(/delete)ResponseBodypublic String delete(){return {module:user delete};} }BookController package com.lyh.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;Controller public class BookController {RequestMapping(/save)ResponseBodypublic String save(){return {module:book save};}}1、请求映射路径 在上面的环境中我们可看到对于不同 controller 类中存在有相同映射路径/save这是我们开发中经常会遇到的问题也就是不同开发人员设置了相同的映射路径该怎么办 解决办法设置模块名作为请求路径前缀。 这样我们就解决了不同业务模块请求路径冲突的问题了但是我们发现如果这个每个业务模块下面的方法前面都加一个 /module 是不是太冗余了。所以SpringMVC 还能帮我们继续简化开发 直接在 Controller 类上面定义前缀 这里我们就可以总结一下注解 RequestMapping 的用法了 名称类型位置作用RequestMapping类注解 / 方法注解控制器类 / 控制器方法上面设置当前控制器方法请求访问路径如果加在控制器类上则代表统一访问路径前缀 2、请求方式 2.1、Get 请求 Get 请求非常简单我们只需要在访问路径后面跟上一个 ?参数名参数值 即可如果是多个参数直接 ?参数名1参数值1参数名2参数值2  即可。 注意我们之前在学习 Servlet 的时候Get 和 Post 请求是区分的但是在 SpringMVC 中我们并不需要在方法中分开处理不同类型的请求。 2.2、Post 请求 这里用 Postman 来进行模拟发送 Post 请求 注意Post 请求发表单的时候我们请求体中用的应该是 x-www-from-urlencoded 。 from-date 区别于 x-www-from-urlencoded 不同的是它不仅可以发表单还可以发送文件 2.3、Post 请求中文乱码问题 中文乱码的问题我们之前在学习 Servlet 的时候是通过过滤器来实现的在 SpringMVC 这里是一样的。我们不需要在负责响应的方法里去写而是直接去 Servlet 容器配置类里重写一下 getServletFilters 方法即可 注意这里的过滤器只对 Post 请求有效Get 请求设置过滤器要复杂一些。 2.4、请求参数 参数种类 普通参数POJO嵌套POJO数组集合 2.4.1、客户端和服务端参数名不一致问题 也就是客户端请求参数和我们服务端 Controller 类下面的方法形参名不一致这种问题很常见解决办法也很简单直接通过 RequestParam(参数名)  把客户端的参数名和我们服务端方法的形参绑定在一起 但是需要注意的是设置了这个注解就相当于指定了客户端的参数名也就是说客户端要想再用 name 来给服务端传递参数就不行了 2.4.2、POJO 类型参数 我们先创建一个包 domain 并创建一个简单的 User 类 package com.lyh.domain;public class User {private String name;private int age;Overridepublic String toString() {return User{ name name \ , age age };}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;} }在 Controller 中添加一个用 Pojo 作为参数传递的方法 RequestMapping(/saveByPojo) ResponseBody public String saveByPojo(User user){System.out.println(普通参数传递 name user.getName() , age user.getAge());return {module:user save}; } 注意在Spring MVC中不允许一个Controller下的不同方法具有相同的映射我原本想着方法重载的但是发现不行。 运行结果和之前的普通参数传递是一致的而我们并没有做额外的操作只是简单的修改了参数类型SpringMVC 会帮我们自动通过对象的参数名去找到我们的方法形参。所以这就要求我们 POJO 的参数名必须和方法形参名一致 2.4.3、嵌套 POJO 嵌套 POJO 也就是一个对象的参数是另一个对象。 我们再创建一个 Address 类两个属性province 和 city这里省略代码并添加给 User 类。 2.4.4、数组类型 同样非常简单在控制器类下面添加一个方法  发送 Post 请求 这样我们就通过多个相同参数名的方式实现了数组的传递。 2.4.5、集合类型 我们试着用和数组一样的方式去给集合传递参数 在控制器类下创建一个方法 Post 请求测试  运行结果 可以看到服务器报了一个构造器的错误说明服务器在尝试调用 List 的构造方法但是我们知道 List 是一个接口根本没有构造器。这也说明我们上一节在用 Pojo 作为参数传递的时候SpringMVC 底层其实是会调用形参的那个 Pojo 对象的构造器然后通过 set 方法进行属性注入。 解决的办法也很简单直接通过RequestParam 注解把我们的请求参数当做集合的元素传递给集合如果形参前面有 RequestParam 注解SpringMVC 会自动识别而不会把它当做 Pojo 通过构造器创建空对象然后通过 set 注入属性 运行结果 这样就没问题了。 2.5、JSON 传参 我们实际开发用到 JSON 的情况会很多很多所以这里需要重点学习 JSON 的传参方法。 首先我们需要导入 json 转换格式的依赖方便之后把不同的数据类型转为 json dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.0/version /dependency 还需要注意的是使用 Postman 发送 json 格式的数据需要使用 2.5.1、json 数组 1、给SpringMVC配置类添加注解 EnablewebMvc 我们需要把 json 转为对象必须给控制器类添加这个注解 Configuration ComponentScan(com.lyh.controller) // 扫描 EnableWebMvc // 开启 json 转对象的功能(这只是这个注解的功能之一) public class SpringMvcConfig {} 名称类型位置作用EnableWebMvc配置类注解SpringMVC配置类上方开启SpringMVC多项辅助功能比如这里的json格式自动转换 2、给服务端方法形参前添加注解 RequestBody 区别于之前我们同查询参数给 List 集合传递元素使用的注解 RequestParam RequestBody 主要用于处理请求体中的数据比如这里传递 json 数据用的就是 http 请求体中的 raw 来传递的。RequestParam 主要用于处理查询参数中的数据。 什么是查询参数 查询参数Query Parameters是在HTTP请求的URL中用于传递附加信息的键值对。它们通常出现在URL的“?”之后并以“”符号分隔多个参数。 名称类型位置作用RequestBody形参注解SpringMVC控制器方法形参定义前面将请求体中的数据参数传递给控制器方法形参 RequestMapping(/listParamForJson)ResponseBodypublic String listParamForJson(RequestBody ListString likes){System.out.println(json数据传递likes.toString());return {module:list common for json param};} 发送测试   运行结果 2.5.2、json 对象 RequestMapping(/pojoParamForJson)ResponseBodypublic String pojoParamForJson(RequestBody User user){System.out.println(json对象传递user.toString());return {module:pojo for json param};} 2.5.3、json 对象数组 这里同样需要对形参添加一个注解 RequestBody 来把 RequestMapping(/listPojoParamForJson) ResponseBody public String listPojoParamForJson(RequestBody ListUser users){System.out.println(json对象数组传递);for (User user : users)System.out.println(user.toString());return {module:list pojo for json param}; } 对于 json 对象数组数据的发送Postman 会自动帮我们设置 Content-type 格式为 application/json 测试结果 2.6、日期类型参数传递 常见的日类型格式 2024-04-142024/04/14这种格式 SpringMVC 可以直接处理04/14/2024  对于另外两种类型的日期格式SpringMVC 要求通过 DateTimeFormat  注解的 pattern 属性来指定日期的格式 RequestMapping(/dateParam)ResponseBodypublic String dateParam(DateTimeFormat(pattern yyyy-MM-dd HH:mm:ss) Date date){System.out.println(日期类型参数传递 date.toString());return {module:date param};} 测试  运行结果  2.7、类型转换器  上面的日期格式转换其实也是依赖于上面我们在 SpringMVC 配置类上开启的注解EnableWebMvc 。 而这些所有的格式转换全部依赖于底层的 Converter 接口 这个接口提供了大量的数据格式转换其中一部分数据转换是默认开启的但是大部分是不默认开启的所以一定要记得通过注解 EnableWebMvc 来开启类型转换 3、响应 3.1、响应界面 在 webapp 下创建一个文件 index.jsp 在控制器类中设置响应方法并返回响应页面的路径 Controller public class BookController {RequestMapping(/index)public String jumpToIndex(){return index.jsp;} } 注意这里我把 BookController 上面的路径前缀/book注解 RequestMapping 给去掉了不然到时候会尝试访问 /book/index.jsp 而不是 /index.jsp会报错。 3.2、响应文本 响应文本的时候为了避免 SpringMVC 把我们的响应文本解读为资源路径需要加一个注解ResponseBody  RequestMapping(/text) ResponseBody public String reposeText(){return Hello Spring; } 运行结果  其实响应文本的本质还是返回一个页面 RequestMapping(/text)ResponseBodypublic String reposeText(){return h1Hello Spring/h1;} 测试结果  3.3、响应 json 对象 响应 json 对象很简单直接返回一个对象即可我们之前导入的依赖 jackson 会自动帮我们把 Java 对象转为 json  RequestMapping(/jsonPojo)ResponseBodypublic User reposeJsonPojo(){return new User(谢永强,25);} 测试结果  3.4、响应 json 对象集合 同样很简单和响应对象一样只不过是把对象放进了集合。同样一定要导入 Jackson 依赖。 RequestMapping(/jsonList)ResponseBodypublic ListUser reposeJsonList(){ListUser list new ArrayListUser();list.add(new User(谢永强, 25));list.add(new User(王小蒙, 25));return list;} 测试结果  名称类型位置作用ResponseBody方法注解控制器方法上方将当前控制器方法返回值违响应体 如果该控制器方法返回值是 String 类型的文本ResponseBody 会把它转为响应体而不是把该文本当做资源路径如果是对象类型则把它转为我们浏览器可识别的数据类型比如把 Java 对象转为 json。 3.5、类型转换器 HttpMessageConverter  这里的转换用的是并不是我们前面说的 Converter 接口而是 HttpMessageConverter 接口这个接口有一个实现类叫做 MappingJackson2HttpMessageConverter 所以只要我们导入了 Jackson 包它就可以帮我们把对象转为 json 格式。 这也是我之前疑惑的地方为什么不用 alibaba 的 fastjson 呢原来是因为人家 SpringMVC 底层用的是 Jackson。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南宁网站排名外包郑州网站推广公司服务

https://wenku.baidu.com/view/fb553d795acfa1c7aa00cc27?pcf2#1 转载于:https://www.cnblogs.com/linewman/p/9918760.html

中文网站建设设计钱建网站

算术运算指令算术运算指令是反映CPU计算能力的一组指令,也是编程时经常使用的一组指令。它包括:加、减、乘、除及其相关的辅助指令。 该组指令的操作数可以是8位、16位和32位(80386)。当存储单元是该类指令的操作数时,该操作数的寻址方式可以…

wordpress修改链接东莞整站优化

7.1 视图容器组件 7.1.2 scroll-view组件 设置滚动条位置时默认是没有动画过渡的,scroll-with-animation设置为true即可开启动画过渡效果。 enable-back-to-top设置为true,用户单击标题栏可以让scroll-view中的内容快速地回到最顶部。iOS单击标题栏即…

p2p网站建设网站金融模版

1、获取 nginx 的镜像 # 默认是latest版本docker pull nginx 2、运行 nginx 容器 docker run --name nginx-80 -p 80:80 --rm -d nginx# --name nginx-80 设定容器的名称# -p 80:80 端口进行映射,将本地的80端口映射到容器内部的80端口# --rm 表示容器退出后直接…

网站制作ppt模板wordpress远程图片模块

fuxploide,一款针对文件上传的Fuzz检测工具 1.工具概述2.安装3.参数解析4.使用案例1.工具概述 Fuxploider 是一种开源渗透测试工具,可自动检测和利用文件上传表单缺陷。该工具能够检测允许上传的文件类型,并能够检测哪种技术最适合在所需的 Web 服务器上上传 Web Shell 或任…

大型门户网站 代码wordpress菜单文件

今天学习Django框架,用ajax向后台发送post请求,直接报了403错误,说CSRF验证失败;先前用模板的话都是在里面加一个 {% csrf_token %} 就直接搞定了CSRF的问题了;很显然,用ajax发送post请求这样就白搭了&…

浙江综合网站建设配件创建官方网站

1 synchronized可重入性的理解 当一个线程试图操作一个由其他线程持有的对象锁的临界资源时,将会处于阻塞状态,但当一个线程再次请求自己持有对象锁的临界资源时,如果当前锁是重入性,会请求将会成功,如果当前锁不是可…

优化网站制作方法大全宁德网站设计

本文参考:http://www.360doc.com/content/11/0308/14/5327079_99222581.shtml文献整理所得。 1.正整数的十进制转换为二进制. 十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商…

开发企业网站费用手机安卓系统

前言在开发应用系统的时候,导出文件是必不可放的功能。以前用过POI、easyexcel等工具的导入导出功能,但总感觉太麻烦了,代码特别多,感觉并不是很好用。今天给大家介绍一款新工具,java工具类库Hutool。Hutool简介Hutool…

上海网站推荐大余网站建设

第一章 最优化的基本概念 1.最优化求解的数学模型建立 2.例题(考试第一大题:数学模型建立) 解析:优化变量、目标函数(一般取最小化)、约束条件 注意: 1)约束条件一般形式为&#…

迪庆北京网站建设wordpress分类数据库参数

需要在 Excel 中求一个数字的平方根吗?使用几个内置的 Excel 函数和公式可以轻松计算平方根。在本分步指南中,您将学习在 Excel 中计算平方根的 5 种不同方法,包括使用 SQRT 函数、POWER 函数、指数公式、VBA 代码和 Power Query。跟随教程&a…

pc端网站自适应代码南宁本地网站有哪些

Leetcode原题 Leetcode70. 爬楼梯 标签 记忆化搜索 | 数学 | 动态规划 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n 2 输出:2 解…

重庆装修网站建设广州google推广

0x01 基础概念 ICMP(Internet control Message Protocal)Internet报文协议,是TCP/IP的一种子协议,属于网络层协议,其目的是用于在IP主机、路由器之间传递控制信息 0x02 程序 程序 # -*- coding:utf-8 -*- from sca…

一些好用的网站插件开发wordpress

只需要在项目中加载nuGet包就可以了 操作:工具--nuGet包管理器--程序包管理器控制台 在 PM>处输入 install-package entityframework 加载sqlserver的数据库连接 install-package oracle.manageddataaccess.entityframework 加载oracle的数据库连接 参考地址&…

为什么我做的网站不是加密访问湖南网络推广公司

一直在备考。考一个关于自己本身工作的资格证。也一直在忙碌中,三个项目的并驾齐驱。 可以说,我也很忙。 东北今天下了很大雪,厚厚的,踩上去咯吱咯吱的响,这样的安逸更容易使得心静下来。 但是,其实我是焦虑…

怎样介绍自己做的网站烟台网站建设服务

原文:在SQL Server中为什么不建议使用Not In子查询在SQL Server中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题: 结果不准确 查询性能低下 下面我们…

旅游网站案例分析温州好的网站推广

数据结构.单链表经典算法 1.经典算法OJ题1:移除链表元素1.1题目描述:1.2题解:1.3图文解释: 2.经典算法OJ题2:反转链表2.1题目描述:2.2题解:2.3图文解释 3.经典算法OJ题3:合并两个有序…

wordpress主题 商城windows优化大师最新版本

介绍:Canal是一个基于MySQL数据库增量日志解析的开源数据同步工具。 Canal的主要功能是提供增量数据订阅和消费,它通过解析MySQL数据库的增量日志来捕获数据变更事件,并将这些事件转换成数据变更流,供用户订阅和消费。这样&#x…

wordPress主题模板站怎么建论坛网站

磁盘存储 磁盘是广为应用的保存大量数据的存储设备,存储数据的数量级可以达到几百到几千千兆字节,而基于RAM的存储器只能有几百或几千兆字节。不过,从磁盘上读信息的时间为毫秒级,比从DRAM读慢了10万倍,比从SRAM读慢了…

做设计及免费素材网站有哪些在线网页代理网址

摘要 苹果手机没有像安卓系统那样内置文件管理器,但是可以通过使用克魔开发助手来实现强大的文件管理功能。本文介绍了如何使用克魔开发助手在电脑上管理和传输苹果手机的文件。 引言 很多朋友都在使用苹果手机,但是当需要查看手机中的文件时&#xf…