`
zhangyi6678
  • 浏览: 76296 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
阅读更多

Cron表达式的配置()开始时间:2008-12-29,结束时间:2009-01-10在这区间的每天晚上的23时59分59秒执行:

String cronExpression = "59 59 23 * * *";  
Trigger trigger = new CronTrigger(name, group, cronExpression);  
java.util.Calendar startTime = java.util.Calendar.getInstance();  
startTime.set(2008, 11, 29);  
java.util.Calendar endTime = java.util.Calendar.getInstance();  
endTime.set(2009, 0, 10);  
trigger.setStartTime(startTime.getTime());  
trigger.setEndTime(endTime.getTime());

 


JSP中实现在某页面停留若干秒后,自动重定向到另一页面:
<meta http-equiv="refresh" content="300; url=target.jsp">
通过setHeader来实现:
String content=stayTime+";URL="+URL;
response.setHeader("REFRESH",content);

 

 


java的GZip解压问题:
BufferedReader gzipReader = new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream

(fileName))));
            String tmp = null;
            while((tmp=gzipReader.readLine())!=null){
                System.out.println("文件行:"+tmp);
            }

 

 

Hibernate中数据类型:
自定义类型,继承org.hibernate.usertype.UserType类。存储格式可以自己定制,
比如逗号分隔。配置的时候指定用自己定义的类型,比如@Type(type = "com.XXX.StringArrayType")

 

怎么判断是浏览器访问页面?
览器会在发送request的时候,在head部分加一些东西,比如浏览器版本和操作系统版本(User-Agent),
如果是是用手机,还可能有手机号。所以如果你用比如socket之类的方式可能就忽略了这些内容,
如果server端验证这些信息,自然就无法访问了。
在servlet中request.getHeader("User-Agent")可以得到用户的浏览器与操作系统的信息

 

 

 

httpclient怎么才可以不遵守robots.txt:
  HttpClient httpClient = new HttpClient();
  //创建GET方法的实例
  GetMethod getMethod = new GetMethod("http://www.dianping.com");
  //robots.txt是根据User-Agent来判断哪些可以访问,我这里随便设了一个值,就可以获取到页面了
  getMethod.setRequestHeader( "User-Agent", "fake");
  //使用系统提供的默认的恢复策略 \\
 


  字符串生僻字乱码问题:
 使用Character对象控制字符: 16位以外的字符, 需要你做特殊判断。
 char 并不是一个完整的UNICODE实现。 如果要使用Surrogate区域的字符,
 也就是16位以上的字符, 需要用2个char来表示你的一个Surrogate字符, 你要这么写程序:
if(Character.isSurrogatePair(c1, c2)){
  int i = Character.toCodePoint(c1, c2);
  String s = new String(Character.toChars(i));
  system.out.println(s);
}

firefox的不缓存:
response.setHeader("Pragma","No-cache");         
response.setHeader("Cache-Control","no-cache");  
response.setHeader("Cache-Control", "no-store");  
response.setDateHeader("Expires",0); 

 

 

 

HttpURLConnection SetRequestMethod("GET")没有Get请求,服务器端处理都是dopost处理的:
httpurlconnection.setDoOutput(true); 就把请求改变为post请求了,请求头的输出并不需要通过httpurlconnection的输出流,

只要设置就行,httpurlconnection会在你需要得到服务器响应的时候使用socket连接web服务器,将请求头输出到web服务器,所以

这样写就可以了:
public static void doPost() {
try {
url = new URL("http://www.XXXX.com/blogs/list");

httpurlconnection = (HttpURLConnection) url.openConnection();
//httpurlconnection.setDoOutput(true); 这一句不要
//httpurlconnection.setRequestMethod("GET"); 这一句不要,缺省就是get
// httpurlconnection.getOutputStream().write(getFileString().getBytes());

 


enum类型时,我们应该注意到enum类型有如下的一些特征。

1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。

2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义变量一样定义其它

任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。
3.Enum默认实现了java.lang.Comparable接口。

4.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”.

5.Enum提供了一个valueOf方法,这个方法和toString方法是相对应的。调用valueOf(“Blue”)将返回Color.Blue.因此我们在自

己重写toString方法的时候就要注意到这一点,一把来说应该相对应地重写valueOf方法。
6.Enum还提供了values方法,这个方法使你能够方便的遍历所有的枚举值。

7.Enum还有一个oridinal的方法,这个方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定,这里

Color.Red.ordinal()返回0。
 


防止SQL注入的正则表达式:(不能有',;,or,OR,AND) %27 ',%3B ;
2.1、检测SQL meta-characters的正则表达式 /(\%27)|(\')|(\-\-)|(\%23)|(#)/ix
2.2、修正检测SQL meta-characters的正则表达式 /((\%3D)|(=))[^\n]*((\%27)|(\')|(\-\-)|(\%3B)|(:))/i
2.3、典型的 SQL 注入攻击的正则表达式 /\w*((\%27)|(\'))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix
2.4、检测SQL注入,UNION查询关键字的正则表达式 /((\%27)|(\'))union/ix(\%27)|(\') - 单

 

JSP是使用如下的语法格式来创建cookie的:   
Cookie cookie_name =new Cookie("Parameter","Value");   例如:
Cookie newCookie =new Cookie("username","wolf");
response.addCookie(newCookie);   
解释:JSP是调用Cookie对象相应的构造函数Cookie(name,value)用合适的名字和值来创建Cookie,然后 Cookie可以通过

HttpServletResponse的addCookie方法加入到Set-Cookie应答头

 


如果在同一个窗口来调用Servlet,这时客户端已经有了一个临时Cookie,就是JSESSIONID,因此,会将这个Cookie放到HTTP头的

Cookie字段中发送给服务端。服务端在收到这个HTTP请求时就可以从Cookie中得到JSESSIONID的值.但是在不同的窗口打开Servlet

时,将会得到不同的SESSION,我们可以使用永久Cookie将这个Session ID保存在Cookie文件中,这样就算在新的IE窗口,也可以共

享Session对象
Cookie cookie = new Cookie("JSESSIONID", session.getId());  
cookie.setMaxAge(3600);  
response.addCookie(cookie);  Cookie对象将JSESSIONID写入了Cookie文件,并使用setMaxAge方法将Cookie超时时间设为3600秒

 

 

 

一个类实现了 Serializable接口, 我们就可以把它往内存地写再从内存里读出而"组装"成一个跟原来一模一样的对象. 不过当序列

化遇到单例时,这里边就有了个问题: 从内存读出而组装的对象破坏了单例的规则. 单例是要求一个JVM中只有一个类对象的, 而现

在通过反序列化,一个新的对象克隆了出来.
解决方法:
1.在单例类中覆写private Object readResolve() throws ObjectStreamException { 直接返回单例对象。这样当JVM从内存中反序

列化地"组装"一个新对象时,就会自动调用这个 readResolve方法来返回我们指定好的对象
2。调用ObjectInputStream的readUnshared方法 从 ObjectInputStream 读取“非共享”对象。

 

 

 

java 启动时设置代理:

普通代理:

System.getProperties().put("proxySet","true");    //是否通过代理进行连接

System.getProperties().put("proxyHost","192.168.0.26");  //代理服务器

System.getProperties().put("proxyPort","808"); //代理监听的端口

Socket4 代理:

   

 

 

代理在授权用户访问因特网之前,要求用户输入用户名和口令:

URLConnectionconnection=url.openConnection();
Stringpassword="username:password";
StringencodedPassword=base64Encode(password);
connection.setRequestProperty("Proxy-Authorization",encodedPassword);

借助用户名和口令进行认证的方法不起作用。应将"Basic"置于认证字符串的开头;例如:
StringencodedPassword=base64Encode(password);
应该是:
StringencodedPassword="Basic"+base64Encode(password);

 

FTP代理

System.getProperties()..put("ftpProxySet","true");
System.getProperties()..put("ftpProxyHost","proxy-host-name");
System.getProperties()..put("ftpProxyPort","85");

 

System.getProperties().put("socksProxySet","true");   

System.getProperties().put("socksProxyHost","192.168.0.26");  

System.getProperties().put("socksProxyPort","808");

 

 

 

CAS单点登陆:

CAS用来标志用户的token是存在它自己的域名下的,不是存在web应用的域名下的.CAS判断用户登录由agent决定,agent验证用户信息有两种处理.
1.如果这个用户是以前没登录过的,也就是说这个web应用的域名下没有一个agent颁发的sessionid(在cookie里)的话,那么它会跳转到CAS server的登录界面(这里由CAS server决定是否显示登录界面,还是直接就跳转回来,也就是不是每次都要求输入密码登录的).
2.CAS的登录界面会有两种处理.如果以前没登录过,也就是在CAS server自己的域名下,没有用户的token的话,就要求登录.如果有token的话,就返回一个ticket(也就是不显示登录界面直接重定向返回了).
然后接第一步里面,agent收到ticket以后就提交给CAS server验证,并取得返回信息(是个xml,cas的协议规定的,也可以用saml之类的,这个地方可以取得除了用户姓名以外的信息,这样就可以做同步了,权限的问题可以这么解决).然后agent就保存此时的session,把sessionid放到该web应用域名下的cookie里.
以上逻辑说明了,标志用户身份的token在CAS server的域名下,每个web应用不保存用户身份.因此跨域是绝对没问题的.只是single sign off就需要CAS server的配合了,要把那个token删掉.
不过如果标志身份的token不存在,而sessionid存在,那还是被认为是登录的,只不过是在等待那个session timeout而已.

 

apache更改日志级别:

打开conf/httpd.conf找到LogLevel就可以更改日志等级啦.

Level  Description  Example 
emerg  紧急 - 系统无法使用。 "Child cannot open lock file. Exiting"
alert  必须立即采取措施。 "getpwuid: couldn’t determine user name from uid"
crit  致命情况。 "socket: Failed to get a socket, exiting child"
error  错误情况。 "Premature end of script headers"
warn  警告情况。 "child process 1234 did not exit, sending another SIGHUP"
notice  一般重要情况。 "httpd: caught SIGBUS, attempting to dump core in …"
info  普通信息。 "Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers

分享到:
评论

相关推荐

    Java日志记录的5条规则Java开发Java经验技巧共5

    Java日志记录的5条规则Java开发Java经验技巧共5页.pdf.zip

    通用java日志记录开发包,短小而精悍,适合各种大小项目

    本人有多年java项目开发经验,在大大小小java项目中,总结写了这个通用日志信息记录开发包,愿结识各路好友。 压缩包,包涵使用实例,使用中如有疑问,可以QQ:120849208 以下是配置文件内容: #日志文件所在...

    《JAVA课程设计》--课程《算法设计与分析》(第3版)java实现,记录学习过程…….zip

    本人十余年JAVA从业经验,精通JAVA高可用、分布式、高并发系统架构设计。有志于做JAVA职业规划、技术提升的可与我联系,交个朋友~ 本人十余年JAVA从业经验,精通JAVA高可用、分布式、高并发系统架构设计。有志于做...

    《JAVA面试题》--记录一些面试的题目,主要是java.zip

    十余年JAVA从业经验,精通JAVA技术体系,有志于做JAVA技能提升的朋友可与我联系,交个朋友 十余年JAVA从业经验,精通JAVA技术体系,有志于做JAVA技能提升的朋友可与我联系,交个朋友 十余年JAVA从业经验,精通JAVA...

    2023最新Java面试题面试经验笔记项目

    实战项目经验:分享了几个经典的Java项目,解析了项目的架构设计和核心技术点。 面试经验和技巧:整理了常见的Java面试问题,并给出了答题建议和技巧。 代码和项目实例:提供了多个Java项目的源代码,方便学习者参考...

    借助AOP为JavaWeb应用记录性能数据Java开发Ja

    借助AOP为JavaWeb应用记录性能数据Java开发Java经验技巧共3页.pdf.zip

    《JAVA面试题》--【Java】 面试积累的知识点记录。.zip

    十余年JAVA从业经验,精通JAVA技术体系,有志于做JAVA技能提升的朋友可与我联系,交个朋友 十余年JAVA从业经验,精通JAVA技术体系,有志于做JAVA技能提升的朋友可与我联系,交个朋友 十余年JAVA从业经验,精通JAVA...

    android,java必备知识,面试知识,工作学习记录

    android,java必备知识,面试知识,工作学习记录。这里记录一些常用android工具类,android开发经验,面试算法题,牛客算法题解析。也包含java数据结构,算法,爬虫,泛型,反射等实现.zip

    Java课堂笔记、代码、java核心知识点梳理、java笔试面试资料.zip

    实战项目经验:分享了几个经典的Java项目,解析了项目的架构设计和核心技术点。 面试经验和技巧:整理了常见的Java面试问题,并给出了答题建议和技巧。 代码和项目实例:提供了多个Java项目的源代码,方便学习者参考...

    Java interview-高级Java面试题2023.zip

    实战项目经验:分享了几个经典的Java项目,解析了项目的架构设计和核心技术点。 面试经验和技巧:整理了常见的Java面试问题,并给出了答题建议和技巧。 代码和项目实例:提供了多个Java项目的源代码,方便学习者参考...

    java版 象棋 实现人机对战 人人对战

    随着人工智能及计算机硬件的发展,计算机象棋程序的下棋水平也不断地得到提高。20世纪60年代初,麦卡锡提出了alpha-beta修剪算法,把...本文根据国际象棋程序设计的一些成功经验,提出中国象棋程序设计的一些思路和方法

    java面试题目与技巧1

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。.zip

    实战项目经验:分享了几个经典的Java项目,解析了项目的架构设计和核心技术点。 面试经验和技巧:整理了常见的Java面试问题,并给出了答题建议和技巧。 代码和项目实例:提供了多个Java项目的源代码,方便学习者参考...

    java面试题及技巧4

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    『Java八股文』Java面试套路,Java进阶学习,打破内卷拿大厂Offer,升职加薪!.zip

    实战项目经验:分享了几个经典的Java项目,解析了项目的架构设计和核心技术点。 面试经验和技巧:整理了常见的Java面试问题,并给出了答题建议和技巧。 代码和项目实例:提供了多个Java项目的源代码,方便学习者参考...

    java云笔记 项目+sql文件+超清晰注释+项目经验

    项目采用这些技术和设计思想 Ajax,jQuery Spring(MVC,IOC,AOP) MyBatis Ajax:异步请求响应处理;页面局部刷新 (所有请求一律采用Ajax方式交互) jQuery:简化js和Ajax编程,实现前端处理 SpringMVC:实现控制层,用于接收...

    关于java数据库基本操作

    所以,就此问题我根据平常使用总结出一些经验和大家交流一下。1、java数据库操作基本流程2、几个常用的重要技巧:·可滚动、更新的记录集·批量更新·事务处理java数据库操作基本流程:取得数据库连接-执行sql语句-处理...

    Java面试总结.zip

    实战项目经验:分享了几个经典的Java项目,解析了项目的架构设计和核心技术点。 面试经验和技巧:整理了常见的Java面试问题,并给出了答题建议和技巧。 代码和项目实例:提供了多个Java项目的源代码,方便学习者参考...

Global site tag (gtag.js) - Google Analytics