![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Web课堂
敲键盘的猫
这个作者很懒,什么都没留下…
展开
-
web.xml 中的listener、 filter、servlet 加载顺序及其详解
网上查询了下web.xml中配置的加载优先级: 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 ServletC转载 2016-06-11 15:12:44 · 472 阅读 · 0 评论 -
通过邮箱找回密码
思路:发送邮件→请求邮件里的URL→验证url→{验证成功修改密码,不成功跳转到失败页面}注:一个url只能修改一次密码,当同一帐号发送多封邮件,只有最后一封邮件的url 邮箱。加密能防止伪造攻击,一次url只能验证一次,并且绑定了用户。生成url: 可以用UUID生成随机密钥。数字签名= MD5(用户名+'|'+过期时间(毫秒数)+'|'+秘钥key)转载 2017-07-05 09:43:12 · 942 阅读 · 1 评论 -
ServletContext实现网站计数器
在网站开发中,有很多功能需要使用ServletContext,比如:1.网站计数器2.网站在线用户的显示3.简单的聊天系统总之,如果是涉及到不用用户共享数据,而这些数据量不大,同时又不希望写入数据库中,我们就可以考虑使用ServletContext来实现有效点击:1.只要访问过该网页就算一次,刷新也算一次,有点假2.不同的ip访问,算一次;如果同一个ip在一定时间(转载 2017-07-07 13:12:10 · 472 阅读 · 0 评论 -
POP3、SMTP和IMAP基础概念
POP3POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。原创 2017-07-07 15:32:59 · 1883 阅读 · 0 评论 -
HttpClient工具类
package com.wm.utils;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Map.Entry;import org.apache.http.Header;import org.apach原创 2017-07-22 09:41:32 · 351 阅读 · 0 评论 -
httpclient连接池在ES Restful API请求中的应用
package com.wm.utils;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;/**原创 2017-07-22 10:00:34 · 3922 阅读 · 2 评论 -
art-template常用总结
高性能JavaScript模板引擎原理解析:http://cdc.tencent.com/2012/06/15/%E9%AB%98%E6%80%A7%E8%83%BDjavascript%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E%E5%8E%9F%E7%90%86%E8%A7%A3%E6%9E%90/javascript 模板引擎,官网:https://g转载 2017-08-25 11:48:52 · 1127 阅读 · 0 评论 -
文件上传知识点整理
一、servlet api 实现参考文献:http://www.cnblogs.com/xdp-gacl/p/4224960.html1、前台处理文件上传方式使用表单形式 enctype="multipart/form-data"2、后台处理说明:使用注解@MultipartConfig将一个Servlet标识为支持文件上传。Servlet3.0将mul原创 2017-09-17 11:34:07 · 505 阅读 · 0 评论 -
page-break-before和page-break-after 实现分页打印
page-break-before和page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是用来控制文件的打印方式。每个打印属性都可以设定4种设定值:auto、always、left和right。其中Auto是默认值,只有在有需要时,才需设定分页符号 (Page breaks)。page-break-before若设定成always,则是在遇到特定的组件时,打印机会重转载 2017-11-30 17:31:52 · 11594 阅读 · 0 评论 -
$.ajax 中的contentType
在 cnodejs.org 论坛中有一个问题,让我也很奇怪,说是 $.ajax 设置数据类型 applicaiton/json之后,服务器端(express)就拿不到数据,好奇之下,就去翻了翻资料,发现了一个自己也没有注意到的事。于是有了这篇文章。正文$.ajax contentType 和 dataType , contentType 主要设置你发送给服务器的格式,dataType设转载 2017-11-23 16:55:27 · 304 阅读 · 0 评论 -
A4纸网页打印
A4纸网页打印<!-- 在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dot Per Inch)指标。 经过我仔细的测试,发现了网页打印中,默认采用的是96dpi,并非传闻的72dpi A4纸张的尺寸是210×297mm,按1英寸=25.41mm换算,即8.264×11.688英寸 所以,A4纸96dpi下的分辨率是794×1123,这就是我们在制作网页的时原创 2017-12-01 11:07:27 · 844 阅读 · 0 评论 -
Shiro密码处理
散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如 MD5、SHA等。一般进行散列时最好提供一个 salt(盐),比如加密密码“admin”,产生的散列值是“21232f297a57a5a743894a0e4a801fc3”,可以到一些 md5解密网站很容易的通过散列值得到密码“admin”,即如果直接对密码进行散列相对来说破解更容易,此时我们可以转载 2018-02-03 14:30:50 · 498 阅读 · 0 评论 -
WebSocket在建立连接时通过@PathParam获取页面传值
最近用Java下使用WebSocket,有一个需求,在页面与Java后台建立连接的时候获取页面上提供的参数,也就是在@OnOpen注解的方法里面获取一次页面的参数,有一个很简单的方法可以获得。即使用@PathParam注解。第一步:在被websocket映射的Java类中的注解如下:@ServerEndpoint("/websocket/{relationId}/{userCode转载 2018-02-05 17:12:38 · 1977 阅读 · 0 评论 -
Java Properties基础知识总结
在Java语言中,使用一种以.properties为扩展名的文本文件作为资源文件,该类型的文件的内容格式为类似:some_key=some_value #注释描述还有一种是使用xml文件保存项目的配置信息,同样可以使用Properties类解析。xml配置文件格式: hello world bar baz API讲解Properties原创 2017-06-24 13:29:43 · 398 阅读 · 0 评论 -
基于Token的身份验证
最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得挺好,意思就是,你拿着这个令牌,才能过一些关卡。传统身份验证的方法HTTP 是一种没有状转载 2017-07-03 13:54:15 · 774 阅读 · 0 评论 -
ContentType明细对照表(文件类型相关的设置)
文件扩展名Content-Type(Mime-Type)文件扩展名Content-Type(Mime-Type).*( 二进制流,不知道下载文件类型)application/octet-stream.tifimage/tiff.001application/x-001.301application/x-301.32原创 2016-06-11 16:50:58 · 1950 阅读 · 0 评论 -
常见MVC框架比较
运行性能上: Jsp+servlet>struts1>springmvc>struts2+freemarker>>struts2,ognl,值栈。开发效率上: 基本正好相反,值得强调的是,spring mvc开发效率和struts2不相上下。 Struts2的性能低的原因是因为OGNL和值栈造成的。 所以,如果你的系统并原创 2016-06-13 09:14:59 · 1027 阅读 · 0 评论 -
web.xml配置详解
1、web.xml学名叫部署描述符文件,是在Servlet规范中定义的,是web应用的配置文件。2、部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type转载 2016-09-10 12:34:39 · 344 阅读 · 0 评论 -
分布式Web服务器架构(通俗易通)
最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候已经是托管了一台主机,并且有一定的带宽了,这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候比较明显的是数据库和应用互相影响,应用出问题了,数据库也很容易出现问题,而数据库出问题的时候,应用也容易转载 2016-08-20 20:41:22 · 651 阅读 · 0 评论 -
JAVA缓存技术
转载地址:http://blog.csdn.net/madun/article/details/8569860最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇,暂作保存,后面如果有用到可以参考。此为转贴,帖子来处:http://cogipard.info/articles/cache-static-files-with-jnotify-and-转载 2016-08-20 22:09:40 · 394 阅读 · 0 评论 -
Yahoo团队经验:网站性能优化的34条黄金法则
1、尽量减少HTTP请求次数终端用户响应的时间中,有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少 HTTP请求的次数。这是提高网页速度的关键步骤。减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术。转载 2016-09-16 12:11:04 · 528 阅读 · 0 评论 -
短信验证码接口被恶意攻击怎么办?
短信接口验证码通常用于电商、手机APP、网上银行、社交论坛等互联网行业,通过短信验证码进行身份二次验证,确保用户身份真实有效。但是,最近有很多用户莫名收到各类注册短信、验证短信等,技术人员排查,发现是短信验证码接口被恶意攻击了,导致验证码接口被刷。那么该如何避免被刷呢?一、短信验证码接口是怎么被恶意攻击的(短信接口被刷)短信验证码接口被恶意攻击一般主要用于短信轰炸。而短信轰炸的具体工作转载 2016-11-29 21:16:54 · 16320 阅读 · 3 评论 -
Java利用DES/3DES/AES这三种算法分别实现对称加密
转载地址:http://blog.csdn.net/smartbetter/article/details/54017759有两句话是这么说的:1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。注意,这可不是我说的,是无数程序员总结的,话说的很实在也很精辟,若想长久可持续发展,多研究算转载 2017-02-13 11:44:00 · 450 阅读 · 0 评论 -
防止浏览器记住用户名及密码的简单实用方法
如何设置能禁止浏览器自动保存表单信息,比如用户名,密码?现在很多浏览器都有自动填写功能,我在input上使用了autocomplete="off",但在有的浏览器上还是被记住了用户名跟密码,请问有没有更有效及简便的方法来防止浏览器记住用户名及密码?1).首先大部分浏览器都是根据表单域的type="password"来判断密码域的,所以针对这种情况可以采取“动态设置密码域”的方法:转载 2017-01-27 15:15:46 · 1979 阅读 · 0 评论 -
web安全之token
Token一般用在两个地方:防止表单重复提交;anti csrf攻击(跨站点请求伪造)。两者在原理上都是通过session token来实现的。当客户端请求页面时,服务器会生成一个随机数Token,并且将Token放置到session当中,然后将Token发给客户端(一般通过构造hidden表单)。下次客户端提交请求时,Token会随着表单一起提交到服务器端。如果应用于“a原创 2017-01-31 13:35:51 · 713 阅读 · 0 评论 -
HTTP知识整理
HTTP协议HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标原创 2017-03-19 16:55:48 · 1074 阅读 · 0 评论 -
网站测试流程、要求及测试报告
一个网站基本完工后,需要通过下面三步测试才可以交活。 一、 制作者测试,包括美工测试页面、程序员测试功能。在做完后第一时间内有制作者本人进行测试。 a) 页面 包括首页、二级页面、三级页面的页面在各种常用分辨率下有无错位; 图片上有没有错别字; 各连接是否是死连接; 各栏目图片与内容是否对应等 b) 功能 达到客户要求; 数据库连接正确; 各个动态生成连接正确; 传递参数格式、内转载 2017-03-12 08:47:14 · 620 阅读 · 0 评论 -
缓存命中率基础知识
缓存命中率命中:可以直接通过缓存获取到需要的数据。不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。影响缓存命中率的因素缓存适合“读多写少”的业务场景。业务需求决定了对时效性的要求,直接原创 2017-04-29 21:29:38 · 2228 阅读 · 0 评论 -
Java Web 获取客户端真实IP
发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP。一般分为两种情况:方式一、客户端未经过代理,直接访问服务器端(nginx,squid,haproxy);方式二、客户端通过多级代理,最终到达服务器端(nginx,squid,haproxy); 客户端请求信息都包含在HttpS转载 2017-06-19 14:05:56 · 584 阅读 · 0 评论 -
WebSocket实现简易聊天室
前台页面: Web sockets test .container { font-family: "Courier New"; width: 680px; height: 300px; overflow: auto;原创 2018-02-06 11:08:38 · 796 阅读 · 0 评论