精华内容
下载资源
问答
  • Spring Boot获取前端页面参数的几种方式总结

    万次阅读 多人点赞 2017-09-21 21:37:47
    Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库,前段时间正好用到,但是忘得差不多了,获得的方式有很多种,这种东西不写下来一段时间不用就忘得...

    Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库,前段时间正好用到,但是忘得差不多了,获得的方式有很多种,这种东西不写下来一段时间不用就忘得差不多了,感觉记性越来越差了呢,这里稍微总结一下,大致分为以下几种:
      
      1.指定前端url请求参数名称与方法名一致,见下图,这种方式简单来说就是url请求格式中的参数需要与方法的参数名称对应上,举个例子,这么一个url请求http://localhost:8080/0919/test1?name=xxx&pwd=yyy,在指定的控制器类上加上Controller注解,同时指定RequestMapping注解即可,当请求路径参数与方法参数匹配上时会自动注入
      这里写图片描述

    启动主程序,访问浏览器出现下图,表明注入参数成功,这种方式一般是get请求
      这里写图片描述

    2.第二种方式是通过HttpServletRequest来获取前端页面参数,代码见下图 ,简单来说就是通过调用request的getParameter方法来获取参数,比如访问路径类似这样http://localhost:8080/0919/test2?firstName=zhang&lastName=san
      这里写图片描述
      
      启动主程序,访问浏览器出现下图,表明注入参数成功,这种方式也可以获取表单参数,一般get和post请求都可以

    这里写图片描述

    3.第三种方式是通过创建一个JavaBean对象来封装表单参数或者是请求url路径中的参数,具体代码见下图
      这里写图片描述

    对应的JavaBean对象是下面这个
      这里写图片描述
      
      简单来说就是将表单参数作为一个JavaBean类的属性,通过设置方法参数为一个JavaBean对象,之后在方法中通过调用对象的get方法来获取表单传过来的参数,比如访问路径是这个http://localhost:8080/0919/test3?firstName=zhang&lastName=san 启动主程序,在浏览器访问见下图,表明注入参数成功,这种方式如果请求的表单参数很多可以考虑使用这种方式
      这里写图片描述

    4.第四种方式是通过PathVariable注解来绑定请求路径的参数,参考代码见下
      这里写图片描述
      
      这种情况简单来说就是url中采用动态绑定的形式表示,之后在方法中指定的参数通过PathVariable来将请求的url中的参数绑定到方法参数,这里在不指定PathVariable注解的具体值时按照请求路径中的动态变量顺序与注解顺序一致即可注入 ,如果想指定注入,那么指定PathVariable注解的值与动态变量的名一致即可特定注入。比如请求路径是这个http://localhost:8080/0919/test4/111/222

    启动主程序,在浏览器访问,出现下图表明注入参数成功
      
      这里写图片描述

    5.第五种方式是通过RequestParam注解来获取,具体代码见下
      这里写图片描述

    这种方式是通过url路径的形式将请求路径上的参数绑定到方法的参数上,简单来说就是实参值赋给相应的形参,与上面那种方式的区别是前者是动态url模板注入,这里是个普通的url请求注入·,比如访问路径是这个http://localhost:8080/0919/test5?aaa=111&bbb=4444

    启动主程序,访问该请求,浏览器出现下面这个表明注入参数成功,这里可以通过指定RequestParam的value值来指定url请求路径参数指定注入到哪个具体方法参数,不过一般两者名字一致比较方便
      这里写图片描述

    6.第六种方式是通过ModelAttribute方式来注入参数,具体代码见下
      这里写图片描述

    这种方式一般是通过在页面展示,所以这里创建两个页面做测试test2.jsp和test3.jsp进行测试
      这里写图片描述

    这里写图片描述

    简单来说就是通过ModelAttribute注解将请求参数封装到指定的JavaBean对象,同时通过value值将这个接受了表单参数的对象赋给value,这里就是将s赋给了一个变量名为kkk的存在,之后就可以在jsp页面通过这个变量名使用el表达式来获取从表单传过来的参数,这里测试路径是http://localhost:8080/0919/kkk,访问在浏览器进行测试,见下图
       这里写图片描述

    点击提交,出现下图,表明表单参数成功被后台接受并在前台页面输出,这种方式一般是需要在前台页面输出的时候使用
       这里写图片描述

    总的来说Spring Boot获取前端页面参数的方式大致就上面这几种,可以根据自己的实际情况来选择其中的任意一种方式,个人一般推荐前三种方式,当然具体选哪种还是因人而异。这里简单写了一点简单demo做下测试记录防止长时间不用又忘了,毕竟博客的作用就是这样嘛,同时供有需要的同僚们拿过来参考,那么这篇就这样了到此结束。。。。。睡觉(`・ω・´)

    展开全文
  • 前端页面弹框遮罩禁止页面滚动

    万次阅读 热门讨论 2017-07-03 09:53:15
    前端页面弹框遮罩禁止页面滚动前端开发经常会遇到的一个问题就是制作一个弹框来向用户提示信息,在这个弹框弹出的同时,往往会伴有一个灰色的遮罩层挡住页面内容,同时整个页面被这层遮罩盖住,不可点击也不可滚动。...

    前端页面弹框遮罩禁止页面滚动

    前端开发经常会遇到的一个问题就是制作一个弹框来向用户提示信息,在这个弹框弹出的同时,往往会伴有一个灰色的遮罩层挡住页面内容,同时整个页面被这层遮罩盖住,不可点击也不可滚动。
    这里写图片描述

    方案一:控制overflow禁止滚动(ios不兼容)

    要制作这个效果在PC端非常简单,只需要设置html的高度为100%占满屏幕,并且将html的overflow设置为hidden,即可保证页面不可滚动。
    但是同样的问题在移动端情况就有所区别。仅仅设置html的上列属性,在移动端仍然无法禁止页面超出部分的滚动,我们需要设置下面的代码才能在弹框出现的时候禁止页面滚动:

    html.style.overflow="hidden";
    html.style.height="100%";
    body.style.overflow="hidden";
    body.style.height="100%";
    

    原因是因为移动端是基于touch事件,要禁止基于touch事件的滚动,我们必须在对html禁止滚动的基础之上,再将需要禁止滚动的内容上再增加一个包裹层块级元素,然后将这个包裹层块级元素高度设置为100%并设置overflow:hidden;,那么在这里我们认为body包裹了整个页面,正是我们需要的块级元素,将他也设置为禁止滚动,就可以保证移动端页面的滑动时间不会触发页面滚动。
    当用户关闭了弹框,页面也就恢复正常,我们设置如下CSS样式属性来还原整个页面的滚动效果:

    html.style.overflow="visible";
    html.style.height="auto";
    body.style.overflow="visible";
    body.style.height="auto";
    

    这些样式正是对应CSS属性的默认样式。
    然而这个方案有一个缺陷,就是ios系统下不兼容,黑幕的效果没法阻止页面的滚动。下面介绍移动端的另一种解决方案。

    方案二:绝对/固定布局阻止手势滚动事件冒泡(PC端无效)

    正是因为移动端的滚动基于屏幕的touch事件,因此诞生了方案二(手机淘宝就使用了这种方案)。
    首先我们需要知道两个前提知识点:1、重叠的两个页面元素,z-index值更高的会优先触发事件监听,从而可以在此控制是否让事件流继续;2、移动端滚动的touch事件,基于事件流。
    有了上面两个知识点的基础,我们就可以来理解这种方案的设计思路。方案二的原理是:不对原页面进行任何改动,仅仅只是用一个拥有更高z-index值的,布局为absolute或者fixed布局的黑幕(长宽100%)来挡住整个页面,并且监听黑幕的touchstart事件,在touchstart事件内结束事件流,从而阻挡事件流继续。这样,能够产生滚动效果的touch事件就传不到页面上,也就不会发生滚动。
    这里写图片描述
    下面贴上方案二的完整测试源代码:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style>
    			.main-content{
    				position:relative;
    				width:100%;
    				background-color:#ccc;
    				height:2000px;
    			}
    
    			.main-content .trigger{
    				width:200px;
    				height:100px;
    				font-size:30px;
    				color:#000;
    			}
    
    			.main-content .bottom{
    				position:absolute;
    				bottom:0;
    				left:0;
    				width:100%;
    				height:200px;
    				background-color:red;
    			}
    
    			.black-shield{
    				position:fixed;
    				top:0;
    				left:0;
    				width:100%;
    				height:100%;
    				background-color:rgba(10,10,10,0.4);
    				z-index:10;
    			}
    
    			.black-shield .info{
    				font-size:40px;
    				color:#000;
    				border:1px solid;
    				z-index:20;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="main-content">
    			<button id="trigger" class="trigger">开/关</button>
    			<div class="bottom"></div>
    		</div>
    		<div id="shield" class="black-shield" style="display:none;">
    			<div id="info" class="info">当前黑幕弹出后,页面应该不可滑动,点击当前文本,关闭黑幕</div>
    		</div>
    		
    		<script>
    			function test2(){
    				var showShield=false;
    				var shield=document.getElementById("shield");
    				var trigger=document.getElementById("trigger");
    				var info=document.getElementById("info");
    				var body=document.querySelector("body");
    				var html=document.querySelector("html");
    
    				//点击显示黑幕
    				trigger.addEventListener("click",function(){
    					shield.style.display="block";
    				},false);
    
    				//点击关闭黑幕
    				info.addEventListener("touchstart",function(){
    					shield.style.display="none";
    				},false);
    
    				//在黑幕层阻挡touch事件
    				shield.addEventListener("touchstart",function(e){
    					e.stopPropagation();
    					e.preventDefault();
    				},false);
    			}
    
    			test2();
    		</script>
    	</body>
    </html>
    
    

    熬夜不易,请作者喝杯酒!

    展开全文
  • 前端页面跳转测试

    千次阅读 2018-09-15 20:32:50
    前端页面跳转测试 前端页面跳转分析处于什么环境 对于测试人员来说,在进行交互评审的时候,就可以开始基于交互文档以及接口文档进行页面跳转的分析了。 注意:全篇的前端包含APP、H5以及中间的接口路由层。 ...

    前端页面跳转分析处于什么环境

    对于测试人员来说,在进行交互评审的时候,就可以开始基于交互文档以及接口文档进行页面跳转的分析了。

    注意:全篇的前端包含APP、H5以及中间的接口路由层。

    如何做页面跳转分析

    设计分析
    1、交互层面的分析
    协议分析
    1、协议层面的分析
    通用分析
    1、跳转页面的类型
    2、页面跳转的交互范围
    3、页面跳转通用测试方法
    4、前后端文件传输格式

    常见交互类型依据

    • UX交互设计
    • 竞品对应场景分析
    • 用户视角
    • 设计规范

    基于交互层面的分析,我们需要关注页面之间的交互是否合理。首先,我们对自己公司的UX同学之能力表示相信,当然我们也可以基于其他三个点提出我们的建议。现在移动应用市场APP层出不穷,每个APP基本都会有相对的竞品或者是相同的某几个场景,我们可以借鉴竞品在相似页面交互的设计作为一个标准。身为一个测试,我们有必要站在用户的角度,去评价交互设计的合理性。我们可以从各个应用市场的用户评论中去获取用户的意见。最后,像Google、Apple等引领全球设计风尚的公司,他们的交互设计标准也值得我们借鉴。

    例子:支付完成页面,若取消支付,有些公司跳转至订单详情页,有些公司跳转至收银台,大家可细细斟酌一下。

    前端常见协议类型

    1、Scheme

    scheme跳转一般用于APP与APP之间的跳转、推送消息与APP的跳转以及APP与H5的跳转。主要有一下几种常用的应用场景:

    • 从浏览器中某个页面点击事件可以打开对应客户端某一个界面,就是通过URL Scheme://+参数来完成唤醒跳转客户端页面的。
    • 调用微信、支付宝等客户端完成支付功能。
    • 第三方应用调用系统所带的地图软件。
    • 淘口令、吱口令在APP内打开活动页面
    • 将需要分享的数据传给SDK,SDK通过Open Url来打开第三方应用传递数据,返回时SDK来处理Open Url的参数,实现查看分享的回调。
    • APP端收到服务器下发的push通知栏消息,点击跳转至对应的页面

    测试点:是否能正确的跳转、回退、浏览器重复拉起APP是否会拉起多个页面。

    2、HTTP、HTTPS

    HTTP、HTTPS主要用于APP、H5与接入层的通信。超文本协议HTTP,以明文方式发送内容、不提供任何方式的数据加密,容易被攻击装截取获得信息。简单来说,HTTPS协议就是由SSL+HTTP协议构建的可以进行加密传输、身份认证的网络协议,比http协议安全。要知道怎么测HTTPS的请求,就有必要了解一下HTTPS的工作流程了。

    这里写图片描述

    1. Client发起一个HTTPS的请求,Client知道需要连接Server的443(默认)端口,请求与Server建立SSL链接。
    2. Server接受到请求后,把事先配置好的公钥证书发送给客户端。证书里面包含网站地址、加密公钥以及证书的颁发机构等。
    3. Client收到证书后,验证公钥证书:比如是否在有效期内,证书的用途是不是匹配Client请求的站点,是不是在CRL吊销列表里面,颁发证书的机构是否合法,它的上一级证书是否有效,这是一个递归的过程,直到验证到根证书(操作系统内置的Root证书或者Client内置的Root证书)。如果验证通过则继续,不通过则显示警告信息。
    4. Client使用伪随机数生成器生成加密所使用的会话密钥,然后用证书的公钥加密这个会话密钥,使用约定好的hash算法计算握手消息,并使用生成的随机数加密,最后将生成的所有消息发给Server。
    5. Server接受到Client发送来的消息,使用自己的私钥(private key)解密这个消息,得到会话密钥,使用秘钥解密client端发来的握手消息,并验证hash是否与客户端发来的一致,使用秘钥加密一段消息发送给client。
    6. client端解密并计算握手消息hash,如果与server端发来的hash一致,此时握手结束,之后所有通信数据将由之前客户端生成的随机密码并利用对称加密算法进行加密。

    测试点: 1、https证书是否被正确安装、是否被信任 2、https证书的有效期 3、TLS协议升级影响 4、中间人攻击

    通用分析

    1、跳转页面类型

    目前APP里面页面类型大致有三种:Native、RN、H5。RN全称react native,是Facebook在15年开源的跨平台移动应用开发框架,主要支持Android和iOS两大平台,但使用JavaScript语言开发即可。三者页面之间可以相互跳转,但是RN与native可以相互调用、H5与native可以相互调用,RN和H5之间需要native进行中转,部分静态页面除外。

    RNNativeH5RNNativeH5

    对测试关注的性能以及用户体验来说,流畅度方面,native优于RN优于H5,内存方面,因为RN含有框架,所以占用内存相对较高,后期平稳后会优于native。由于RN支持的机型有限制(iOS7以上、Android4.1以上),所以需要考虑不同机型上页面跳转的兼容问题,并且还需要考虑RN和H5之间的降级。由于RN首次加载会一次性拉取本地,往后会从本地读取数据,所以还需考虑缓存,以及app各个版本的兼容问题。如果开发修改了某些字段,可能会导致其他版本的APP崩溃。RN及H5都需要考虑中间页、白屏、回退按键、字体适配、内存使用及缓存、键盘、日历等。

    2、页面交互范围

    内部页面
    1、上下联调测试
    2、页面降级方案
    3、页面兼容性
    4、页面与接口兼容性
    外部页面
    1、申请外部联调人员
    2、确定内外部联调时间
    3、是直接跳转还是中间页跳转
    4、跳转后是否能回退
    5、上线外部排期是否支持产线验证

    3、页面通用测试方法

    通常分APP未启动、APP在前台、APP在后台三个阶段。当APP在前台时,可以用各种手势、系统按键、辅助软键、前进、后退、系统事件等去考虑。

    ###4、前后端传输文件格式

    • json
    • PB
    • xml
    • html
    • css
    • js
    • png

    这边主要提一下json、pb、xml三个网络传输协议。
    xml是最早的网络传输协议,不单单用于网络层的传输协议,还常见于各种配置文件中,在移动开发中也常见但是不是主流的网络传输协议。它的优点是解析快,但是效率高,且体积大,容易消耗流量。
    json是一种轻量级的数据交换格式。它较xml格式更简单且体积小,并天然对JavaScript支持,更适合移动端对流量和内存的控制。
    pb是Google提供的一种数据序列化协议,它的速度比json快,但是缺点是二进制存储易读性很差,但优点就是安全性好。在抓包过程中,以proto结尾的便是PB格式的请求。

    注意点:资源文件是否存在、PB文件是否更新、PB文件移动端和后端是否部署、PB格式是否可以降级。

    其他文章,欢迎关注微信公众号测试架构师养成记
    在这里插入图片描述

    展开全文
  • 前端页面debug调试

    万次阅读 2017-06-21 16:42:13
    常用的一般都是编码工具的debug,昨天看到前端页面也可以进行debug调试,瞬间感觉高大上,赶紧跑上来,跟大家分享一下。 首先呢,在触发文件中添加debugger; 然后访问页面触发这个js文件中的函数方法,此时页面会变...

     

    常用的一般都是编码工具的debug,昨天看到前端页面也可以进行debug调试,瞬间感觉高大上,赶紧跑上来,跟大家分享一下。
    
    首先呢,在触发文件中添加debugger;
    然后访问页面触发这个js文件中的函数方法,此时页面会变灰,并且在f12的弹出框中,会默认打开sources资源
    这个时候,你可以看右边的提示信息
    f10是一步一步执行,f8是一下执行完成
    
    有木有很高大上,快去试试吧,日常的调试过程,可能会需要。
    console.log(); alert();
    这两个调试可能是频率非常之高的前端调试方法了吧。

    如果帮到您了,欢迎关注个人公众号:周三想吧

     

    展开全文
  • 前端页面通过按钮切换局部页面

    千次阅读 2020-02-13 16:16:48
    前端页面通过按钮切换局部页面 <a href="javascript:$('#你要切换的id).load('路径')"> 点击根据id切换局部页面 </a>
  • 前端页面日历展示

    2019-10-14 20:58:07
    前端页面日历展示 成果展示 实现代码 .html部分 <div id="time" ></div> .js部分 颜色属性可根据自己修改 calendar_init($("#time"),{ title_color:"aliceblue", title_bg_color:"#2568a5", day_...
  • 前端页面优化技巧

    千次阅读 2017-03-27 13:47:21
    前端页面优化;网站加载速度提升技巧;增加用户体验度的实用小技巧;
  • 如何能够做到后台定时推送信息至前端(前端页面不动,就是挂在那里),刷新前端局部数据(其他数据不动) 比如: 后台数据: ![图片说明]...
  • 苹果官网前端页面

    千次阅读 2018-07-14 18:16:13
    苹果官网前端页面index.html&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8" /&gt; &lt;title&gt;&lt;/title&gt; &...
  • Nginx 后台服务怎么访问nginx中的前端页面; 就是外网部署的是nginx前端页面,内网部署的是后端服务,那么后端服务怎么进入到前端页面
  • 使用idea调试前端页面

    千次阅读 2018-01-05 03:38:38
    title: 使用idea调试前端页面 tags: idea IntelliJ IDEA debugger categories: idea date: 2016-09-25 18:18:54 对于前端同学来说,特别是同时需要做后端的前端同学,idea和chrome两个debugger都要开着的时候比较...
  • 前端页面查看接口快捷键

    千次阅读 2016-02-29 11:33:17
    前端页面查看接口快捷键
  • 基于Jquery实现登录功能的前端页面

    万次阅读 2018-08-31 15:26:31
    本篇文章讲解如何用jquery完成登录功能的前端页面展示 html部分: <div class="name"> <label>用户名:</label> <input type="text" name="username" id="username"> </div> <...
  • springmvc如何和前端页面联系起来

    千次阅读 2016-10-06 22:35:13
    springmvc如何和前端页面联系起来
  • 前端页面几大布局

    千次阅读 2019-05-15 15:58:12
    从纯html结构加上css代码堆出来的页面,到类似bootstrap框架的栅格化布局,再到flex流式布局,随着不同框架、新css特性的诞生,前端页面整体布局,越来越灵活,代码量越来越小,不同浏览器兼容性越来越好。...
  • 前端页面跳转的几种方法

    万次阅读 2018-07-06 11:33:49
    onclick跳转 设置window的location.href属性 onclick=”window.location.href=’URL’” onclick=”location=’URL’” ...调用window的open方法 ...onclick=”window.open(‘URL’,’_blank’);...
  • jfinal 模板、前端页面配置

    千次阅读 2019-06-18 11:14:30
    jfinal开发文档:... 1、文件位置 后台java文件在 1处配置 ...2.添加前端页面 _layout 作为公共模板实现页面基础布局 index 主页,引入 _layout 3.添加后台模板,配置入口 1.DemoConfig.java...
  • Flask中前端页面的数据刷新

    万次阅读 2018-10-16 20:20:13
    Flask中前端页面的数据刷新Flask中前端页面的数据刷新1. 后端刷新页面的流程1.1实现服务器的API接口文档1.2使用Flask实现Web服务器应用程序的构建1.3 实现前端请求URL,声明对应Route路由,一般情况下,一个URL对应一...
  • 精美前端页面在哪里找

    千次阅读 2018-12-18 17:06:32
    好看的前端都在哪里找呢,看这里!...在左边可以直接查找到自己比较中意的前端页面,精美模板里面好多都是收费的,在通用模板里面基本上都是不收费的,大家可以随便使用。 二、点击预览 如果遇到...
  • 3.14 实现将前端页面获取的数据存入到数据库 3.14.1 设计一个前端页面 3.14.2 设计视图函数 并需要在urls.py中设置路径 展示: 3.14.3 编写一个视图函数将获取数据传入数据库 在urls.py配置路径 展示: 查看...
  • 前端页面JS注入问题,前端XSS安全问题解决办法

    万次阅读 热门讨论 2019-09-24 10:23:33
    页面中增加 JS 校验,对特殊符号进行替换,防止用户输入恶意代码导致 JS 注入问题。 在 web 开发中,对用户输入的内容做校验是必不可少的环节,不管是通过正则表达式对用户的输入进行校验,还是通过对特殊符号...
  • 前端页面的结构是什么?

    千次阅读 2018-12-08 13:12:37
    前端页面一般是由结构、表现和行为三部分组成的; 那么其中的结构是由html标签组成;我们经常在body里面写的标签就是构建页面的结构,所以前端页面的结构就是指html标签; 总结: 另外页面中的表现和行为两部分...
  • 前端页面定义公共变量

    千次阅读 2017-07-19 17:01:29
    前端页面定义公共变量(做项目的工程中 用到jsp页面显示图片 没上线之前用本地的路径 、上线之后更改成线上的路径。这样定义公变量 就避免了上线后更改多处路径) 例如:页面显示图片路径 1.java代码 ...
  • 前端页面语言国际化,实现中英切换

    千次阅读 2019-04-08 10:32:05
    前端页面语言国际化
  • 前端页面格式化代码

    千次阅读 2018-08-23 14:10:05
    大家在写前端页面的时候经常也是用到各种格式化,要么就是手写,要么就是网上找一份,这里有一份比较齐全的格式化,大家可以参考使用 html,body,h1,h2,h3,h4,h5,h6,div,dl,dt,dd,ul,ol,li,p,blockquote,pre,hr,...
  • SpringMVC返回数据到前端页面

    千次阅读 2019-08-14 08:09:15
    功能:将user对象返回到前端页面显示 Controller类 @Controller public class UserController { @GetMapping("/s14") public String fun19(HttpServletRequest request){ User user = User.builder(...
  • 前端页面展示json格式化显示

    千次阅读 2019-12-03 10:15:07
    前端页面展示json格式化显示 一般html <head> <title>前端页面展示json格式化显示</title> </head> <body> <p id="noraml_show">{ "filename": "Bugdoc", "counter":"23", ...
  • javaweb学生考试系统1(前端页面完成)

    千次阅读 热门讨论 2019-08-18 10:08:33
    javaweb学生考试系统1(前端页面完成) 和同学一起做考试系统 我做的学生端 刚刚把前端页面做完 上传一下 首页 考试界面 答题面板 成绩查询界面 查看试卷界面 修改密码界面 登录界面 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,408
精华内容 33,763
关键字:

前端页面