package com.xss; import java.util.regex.Pattern; /** * XssUtil 工具类 */ public class XssUtil { static Pattern scriptPattern = Pattern.compile("<script>(.*?)</script>", Pattern.CASE_INSENSITIVE); static Pattern scriptPatternSrc = Patter…
1.背景:最近学习webgoat到了SQL Injection的这一课,要完成这一课需要拦截Http请求,修改参数,不过在修改的参数中加入特殊字符才能完成.下面让我们一起来学习吧. 2.题目: 大致翻译一下题目:使用SQL注入的方式绕过认证.使用SQL注入的方式登录boss的账号Neville,而不是用正确的密码.验证Neville的档案可以被浏览,所有的功能都是可用的.(这些功能包括查询.创建和删除) 3.可是我怎么知道Neville的密码?......题目说了是SQL注入.那我们就开始吧.…
JPA按实体类对象参数中的字段排序问题得解决方法@Entity @Table(name="complaints") @NamedEntityGraphs({ @NamedEntityGraph(name="allJoinsButMessages", attributeNodes = { @NamedAttributeNode("customer"), @NamedAttributeNode("handling_employee"…
RequestUtils.java 操作类 package cn.utils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.util.UrlPathHelper; import javax.servlet.http.HttpServletRequest; import java…
1.线程容器,给线程绑定一个Object 内容,后只要线程不变,可以随时取出. 1.1 改变线程,无法取出内容. final ThreadLocal threadLocal = new ThreadLocal<>(); threadLocal.set("测试"); new Thread(){ public void run() { String result = threadLocal.get(); System.out.println("结果:"+re…
使用ajax向后台提交的时候 由于参数中含有#  默认会被截断 只保留#之前的字符  json格式的字符串则不会被请求到后台的action 可以使用encodeURIComponent在前台进行编码,C#后台使用Server.UrlDecode(paras)解码来解决此问题 前台js编码: $.ajax({ url: "", type: "POST", data: { "paras": encodeURIComponent(JSON.string…
/// <summary>        /// 清楚HTML中的特殊字符        /// </summary>        /// <param name="Htmlstring"></param>        /// <returns></returns>        public static string DelHTML(string Htmlstring)        {          …
URL请求中不能包含特殊符号,比如:# 今天在调接口,突然发现接口参数中传递的数据没有完全接收到controller层的model模型中,反反复复测了好几遍,真不信这个邪了,头晕脑胀的时候才关注到URL请求中其中一个参数中包含了"#"号,进过度娘的帮助,发现:有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了,就今天的问题,为什么不能传递#等特殊符号,原因是tomcat实现HttpServletRequest接口的时候把#后面的内容给过滤掉了…
写在前面 在项目中经常用到解析url中参数的逻辑,今天先下载就自己封装了一个方法,方便以后使用的时候,信手拈来.当然这里给出的方法是针对常见的url参数类型的,对于重写url,或者路由格式的不考虑. c#方法 /// <summary> /// 获取url中参数 /// </summary> /// <param name="url">要解析的url</param> /// <param name="baseUrl&quo…
import org.apache.commons.lang3.StringEscapeUtils;import org.jsoup.Jsoup;import org.jsoup.safety.Whitelist; import com.jfinal.log.Log; /** * Html处理 */public abstract class ToolHtml { @SuppressWarnings("unused") private static final Log log = Log…
有些符号在URL中是不能直接传递的,无法传入PHP处理,比如#&等符号,通过$_GET是获取不到的,比如一个域名https://localhost/url.php?url=yangyufei+eating&drinking 这个通过通过$_GET['url']想要获取yangyufei+eating&drinking是获取不到的,只能获取到yangyufei eating. 这个时候只能变通一下,想想用户访问这个地址,他的浏览器地址栏是不是就有这个链接的完整形式,我们只要读取到访客…
现在项目,用户注册登录部分很少有涉及到了,原因:现在热门开发框架都已经在底层帮我们做了一套用户注册,密码加密,登录认证,权限控制,缓存数据等基本功能. 这有利于项目的快速完成,只需要搬砖码畜们专注于业务逻辑,会利用底层的业务逻辑就行了.这些快速开发框架的出现,也降低了我们java行业的就业门槛,但这不利于我们个人的成长(个人竞争力的体现不能只是会写业务逻辑代码,需要的是拥有绝对的技术壁垒,你有我优,你无我有!) 实际过程中使用过md5和sha1消息摘要算法,也看别人用过spring securi…
package com.zhanggeng.contact.tools; /** * Toasttool can make you use Toast more easy ; * * @author ZHANGGeng * @version v1.0.1 * @since JDK5.0 * */ import android.content.Context; import android.widget.Toast; public class Toasttool { /** * * @param…
1 //方法一:用JAVA自带的函数 2 public static boolean isNumeric(String str){ 3 for (int i = str.length();--i>=0;){ 4 if (!Character.isDigit(str.charAt(i))){ 5 return false; 6 } 7 } 8 return true; 9 } /*方法二:推荐,速度最快 * 判断是否为整数 * @param str 传入的字符串 * @return 是整数返回tr…
一.概述 很多时候,很多工具类其实spring中就已经提供,常用的工具类有: 参考:https://www.cnblogs.com/langtianya/p/3875103.html 内置的resouce类型 UrlResource ClassPathResource FileSystemResource ServletContextResource InputStreamResource ByteArrayResource EncodedResource 也就是Resource加上encodi…
前言 在Spring帮我们管理bean后,编写一些工具类的时候需要从容器中拿到一些对象来做一些操作,比如字典缓存工具类,在没有找到字典缓存时,需要dao对象从数据库load一次,再次存入缓存中.此时需要在util工具类中拿到ioc容器中的dao对象. 原理 spring容器在加载的时候会把ApplicationContext注入到实现了ApplicationContextAware的类中,拿到applicationContext后,可以通过getBean来拿到ioc容器中管理的对象 通过实现Di…
1:Collections集合框架工具类: /* 集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么差别? Collection是集合框架中的一个顶层接口.它里面定义了单列集合的共性方法. 它有两个经常使用的子接口, List:对元素都有定义索引.有序的. 能够反复元素. Set:不能够反复元素.无序. Collections是集合框架中的一个工具类. 该类中的方法都是静态的 提供的方法中有能够对list集合…
上一章说道委托是创建线程安全类的一个最有效策略,只需让现有的线程安全的类管理所有的状态即可.那么这章便说的是怎么利用java平台类库的并发基础构建模块呢? 5.1 同步容器类 包括Vector和Hashtable,此外还包括在JDK1.2中添加的一些功能相似的类,这些同步的封装器类由Collections.synchronizedXxx等工厂方法创建的.这些类实现线程安全的方式是:将他们的状态封装起来,并对每个共有方法都进行同步,使得每次只能有一个线程能访问容器的状态. 关于java中的Vect…
文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来说,JDK 的这些操作类所提供的方法过于底层,直接使用它们进行文件操作不但程序编写复杂而且容易产生错误.相比于 JDK 的 File,Spring 的 Resource 接口(资源概念的描述接口)抽象层面更高且涵盖面更广,Spring 提供了许多方便易用的资源操作工具类,它们大大降低资源操作的复杂度…
第 1 部分: 文件资源操作和 Web 相关工具类 http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils1/ 文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来说,JDK 的这些操作类所提供的方法过于底层,直接使用它们进行文件操作不但程序编写复杂而且容易产生错误.相比于 JDK 的…
文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来说,JDK 的这些操作类所提供的方法过于底层,直接使用它们进行文件操作不但程序编写复杂而且容易产生错误.相比于 JDK 的 File,Spring 的 Resource 接口(资源概念的描述接口)抽象层面更高且涵盖面更广,Spring 提供了许多方便易用的资源操作工具类,它们大大降低资源操作的复杂度…
package com.hx.jdbc.connection; import java.sql.Connection; import java.sql.Statement; import com.mysql.jdbc.UpdatableResultSet; import junit.framework.TestCase; public class JDBCText extends TestCase { /** * 创建一个insert,update,delete通用的方法 * @param sq…
ArrayTool.java文件 /** 静态的应用. 每一个应用程序中都有公行动的功能,可以将这些功能进行抽取,独立封装以便复用 由于ArrayTool中并没有封装特有数据,而且数组的每一个方法也没有用到ArrayTool中的特有数据,为让程序更加严谨, 可以将ArrayToll中的方法都定义程static的,直接用类名调用即可 接下来就可以将ArrayTool发送给其他人,其他人只要将该文件设置到classpath的路径下就可以使用该工具 为使对方清楚该类的功能,可以通过说明书(文档注释)来…
Collections 集合框架的工具类,方法全部为静态 Collections与Collection的区别 Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法 Collections是集合框架的一个工具类,该类中的方法都是静态的,提供的方法中可以对List集合进行排序,二分查找等,通常常用的集合都是线程不安全的,因为要提高效率,如果多线程操作这些集合时,可以通过该工具类的同步方法,将线程不安全的集合转换成安全的 常用方法 对List进行排序 static <T exte…
第一讲     泛型(Generic) 一.概述 1.JDK1.5版本以后出现的新特性.用于解决安全问题,是一个类型安全机制. 2.JDK1.5的集合类希望在定义集合时,明确表明你要向集合中装入那种类型的数据,无法加入指定类型以外的数据. 3.泛型是提供给javac编译器使用的可以限定集合中的输入类型说明的集合时,会去掉“类型”信息,使程序运行效率不受影响,对参数化的泛型类型,getClass()方法的返回值和原始类型完全一样. 4.由于编译生成的字节码会去掉泛型的类型信息,只要能跳过编译器,就…
一.Collection与Collections Collection 是所有单列集合的根接口 Collection 是操作集合的工具类 二.Collections中常见的方法:(大都是static方法,通过类名直接调用) static boolean addALL(Collction c, T... elements): 向集合中批量添加元素,参数c表示集合,参数elements表示要向此集合中添加哪些元素 static void shuffle(List list): 对集合中的内容打乱顺序…
在实际中导出excel非常常见,于是自己封装了一个导出数据到excel的工具类,先附上代码,最后会写出实例和解释.支持03和07两个版本的 excel. HSSF导出的是xls的excel,XSSF导出的是xlsx的excel,SXSSF导出的也是xlsx的excel,只不过这个用于处理数据量大的情况,生成文件之后数据不会留在内存中. 代码中依赖了slf4j日志包,commons-io包的IOUtils关闭流,commons-lang和commons-collections包等包. packag…
一.Collections 概述 java.utils.Collections 是集合工具类,用来对集合进行操作. 二.常用方法 public static <T> boolean addAll(Collection<T> c, T... elements): 往集合中添加一些元素. public static void shuffle(List<?> list): 打乱顺序打乱集合顺序. public static <T> void sort(List&l…
超级实用的 Java 工具类 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.socket.或者selector且不抛出异常,通常放在finally块 toString:转换IO流. Uri. byte[]为String copy:IO流数据复制…
集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么区别? Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方法. 它有两个常用的子接口: List:对元素都有定义索引.有序的.可以重复元素. Set:不可以重复元素.无序. Collections是集合框架中的一个工具类.该类中的方法都是静态的 提供的方法中有可以对list集合进行排序,二分查找等方法. 通常常用的集合都是线程不安全的…