- 浏览: 120187 次
- 性别:
- 来自: 北京
最新评论
-
young_java:
<javascript>alert(0)</ ...
使用filter过滤xss攻击 -
javawang_java:
<scRript>a;ert(xs1)</s ...
使用filter过滤xss攻击 -
chenqili111:
chenqili111 写道富文本编辑器时也会阻止掉,请问下怎 ...
使用filter过滤xss攻击 -
chenqili111:
富文本编辑器时也会组织掉,请问下怎么搞
使用filter过滤xss攻击 -
zoboy:
的撒旦撒旦撒啊盛大盛大的撒大声的
Mule ESB的transformer(一)——基础transform及自定义transformer
文章列表
编码GBK的不可映射字符
- 博客分类:
- java
问题描述及分析:
使用MyEclipse导出doc时,最终使用的还是JDK的javadoc命令。
Javadoc命令可以设置命令执行参数(参看文档后附录),其中-encoding <名称> 指定了源码文件的编码方式。由于JDK是国际版的(参考网络资料),所以默认使用的是系统编码。
这段代码可以查看系统的编码格式
public class TestFileEncoding {
public static void main(String[] args) {
System.out.println(System.getProper ...
java的对象复制有两种方式:实现Serializable和实现Cloneable。
两者都能实现对象的复制,但是各有利弊:
1. 实现Cloneable必须实现clone()方法,clone方法复制对象非常简单,但是这样会对原始对象有侵入性,不利于对象的扩展:假设有一个新对象继承实现Cloneable的对象,那么新对象想要实现复制,就必须重写clone()方法。
2. 实现Serializable在复制对象时,方法相对复杂,需要使用ByteArrayOutputStream、ObjectOutputStream、ByteArrayInputStream、ObjectInputStr ...
ArrayList的复制(浅复制)
- 博客分类:
- java
记录几种容器复制的方法(浅复制),下文会提出浅复制的问题
package com.sg;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* <b>ShallowCopy.java</b>
* @author yanlei
* @version 1.0 Jun 1, 2012
*/
public class ShallowCopy {
public static void main(S ...
struts国际化研究(二)——工厂模式
- 博客分类:
- struts
抽象工厂模式
在struts国际化研究(一)中介绍了struts的默认国际化的默认实现类,但是在国际化的过程中,大多方法使用是MessageResources类中的方法,这里就是struts国际化的核心。
抽象工厂模式定义:提供一个接口,用于创建相关或依赖的对象家族,而不需要指定具体类。
MessageResources是一个抽象类(特殊的接口),其中仅有一个抽象方法public abstract String getMessage(Locale locale, String key),这个正式国际化的入口。
Proper ...
struts国际化研究(一)
- 博客分类:
- struts
struts国际化信息的存储格式
struts默认使用PropertyMessageResources实现国际化的相关处理,该类有两个属性
protected HashMap messages = new HashMap(); //该Map存放国际化信息
protected HashMap locales = new HashMap(); // 辅助map,用于判定某国际化 ...
struts国际化信息的另类使用
- 博客分类:
- struts
struts的国际化信息配置不进行详述了,这是说使用问题
struts的初始化依赖于ActionServlet
web.xml
<servlet>
<servlet-name>sgConfig</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
...
TreeSet拥有和Set的基础属性:不能重复。
同时它还拥有一个隐藏排序功能。
public class RandomTest {
public static void main(String[] args) {
Random random = new Random();
Set<Integer> set = new TreeSet<Integer>();
while (set.size() != 6) {
// 获取随机数
int ...
项目开发心得(201201-201204)
- 博客分类:
- 项目经验
项目心得
功能开发接近结束,剩下的是项目推广了,经过近4个月的开发(含春节)身心俱疲。总结下项目经验,为我的下一次成长做准备。
1. 项目计划:
在接到开发任务的时间是1月15号,计划结束时间2月15号,包含春 ...
约定优于配置
1. 变量的声明和初始化尽可能放在第一次使用变量之前进行;
2. 尽量减少变量“存活”的时间
3. 变量名中的常用对仗词
begin/end
first/last
locked/unlocked
min/max
next/pevious
old/new
opened/closed
visible/invisible
source/target
source/desination
up/down
4. 缩写指导原则
4.1 拥有自己的自定义,形成统一的规范文档,避免一词多译:修改=mdify、update、change
4.2 去掉非 ...
MyEclipse 10.0以及补丁网上很多,下载地址网上很好找。
本人使用补丁中的run.bat时,后台报错
Exception in thread "main" java.lang.ClassNotFoundException: com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Nativ ...
针对list类型的自定义Converter进行优化,提供参数实现Converter的复用。
首选对自定义Converter进行改造
public class OrgIDConverter implements Converter {
// 节点名称
private String nodeName;
// 构造方法
public OrgIDConverter(String nodeName) {
super();
this.nodeName = nodeName;
}
@ ...
xstream自定义Converter
- 博客分类:
- 技术人生
描述:当实体类中出现两个存放String类型的List集合时,使用xstream的alias方法无法分别转换其为对应的名称。
<?xml version="1.0" encoding="UTF-8"?>
<info>
<rogIDs>
<orgID>020120214</orgID>
<orgID>020120215</orgID>
</rogIDs>
<roleIDs ...
Jcs对大数据量的处理方案
- 博客分类:
- 技术人生
Jcs的原理是利用缓存获取用户所需要的数据,减少对数据库的访问,从而提高存储效率。实现该方案的需要解决两个问题:
1. 缓存的数据从哪来
2. 缓存的数据的有效性
1. 缓存的数据从哪来
从根源来讲,缓存的数据应当在查询过数据后放入cache,通常用户在进行业务流程时,查询数据、放入缓存。但是这样存在一个问题,第一次查询不会用到缓存,如果第一次查询时的数据量非常巨大,jcs就没有作用了。
提前加载:
当用户登录系统时,用户身份验证通过后,将所需数据放入缓存,这样在用户第一次查询数据时就可以用到cache。
优点:第一次查询就能提高 ...
先说一下实现思路:
1. 使用正则表达式的方式实现脚本过滤,这个方法准确率较高,但是可能根据不能的要求会变动;
2. 为了保证配置灵活(包括正则表达式灵活),使用xml配置文件的方式记录配置信息,配置信息包含是否开启校验、是否记录日志、是否中断请求、是否替换脚本字符等;
3. 为保证xml与正则表达式的特殊字符不冲突,使用<![CDATA[]]>标签存放正则表达式,但是在类中需要特殊处理;
4. 通过继承HttpRequestWrapper的方式实现request中header和parameter信息过滤;
5. xml解析使用dom4j,稍后会对这个工具的使用写一篇 ...
java.lang.UnsupportedClassVersionError: Bad version number in .class file
该错误是由于项目所使用的jdk编译版本和开发工作(Eclipse或MyEclipse)的编译版本不符合造成的,本人是在使用高版本的MyEclipse8.6时出现该错误的。
修改方式:1. Window->preferences,选择java->compiler,将Compiler compliance level:调整到工程的编译版本,该方法将开发工具中的所有工程的编译版本进行变更;
2. 如果是某个工程的编 ...