??xml version="1.0" encoding="utf-8" standalone="yes"?>成人在线观看网站,国产伦子伦对白在线播放观看 ,亚洲精品日韩在线http://www.aygfsteel.com/cph8066/category/33391.html天将降大M是h也!zh-cnTue, 29 Jul 2008 06:29:09 GMTTue, 29 Jul 2008 06:29:09 GMT60Java制作自动讉K|站机器人!http://www.aygfsteel.com/cph8066/archive/2008/07/29/218363.html姜大?/dc:creator>姜大?/author>Tue, 29 Jul 2008 05:09:00 GMThttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218363.htmlhttp://www.aygfsteel.com/cph8066/comments/218363.htmlhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218363.html#Feedback0http://www.aygfsteel.com/cph8066/comments/commentRss/218363.htmlhttp://www.aygfsteel.com/cph8066/services/trackbacks/218363.html       首先Q你得去下蝲HttpClient的包?br /> http://jakarta.apache.org/commons/httpclient

代码不多Q我们就先来看看代码吧:

 1 import java.io.*;
 2 import org.apache.commons.httpclient.*;
 3 import org.apache.commons.httpclient.methods.*;
 4 
 5 public class HttpTest {
 6 
 7     /**
 8      * @param args
 9      * @throws Exception
10      */
11     public static void main(String[] args) {
12         //先徏立一个客L实例Q将模拟一个浏览器
13         HttpClient client = new HttpClient();
14        
15         //q个是URL地址Q我l过分析51job|站d后的跌{到的地址Qƈ分析得它在JavaScript里提交的URL的参敎ͼ不同|站p已分析了Q这个就是登录后h历的URL地址
16         String url = "http://my.51job.com/my/Pop_RefreshResume.php?en=0&ReSumeID=88888888&Read=0&ID=88888888";
17        
18         //之后再徏立一个PostҎhQ提交刷新简历的表单Q因为提交的参数较多Q所以用Posth好了
19         PostMethod method = new PostMethod(url);
20 
21         //下面的就是将要提交的表单的数据填入PostMethod对象里面Q以name , value 对加入!
22         method.addParameter("HPNation""086");
23         method.addParameter("HPCity","020");
24         method.addParameter("HPNumber","88888888");
25         method.addParameter("FPNation","086");
26         method.addParameter("FPCity","020");
27         method.addParameter("FPNumber","88888888");
28         method.addParameter("FPExtension","000");
29         method.addParameter("MPNation","086");
30         method.addParameter("Mobile","13888888888");
31         method.addParameter("EmailAdd","888@888.com");
32         method.addParameter("ReSumeID","88888888");
33        
34         //q里是徏立请求时服务器需要用到的Cookie?/span>
35         Cookie cookie = new Cookie(".51job.com","51job","ccry%3D.0%252FZKBaMTmj82%26%7C%26cconfirmkey%3DcpwWgp7FC9FZM%26%7C%26cresumeid%3D88888888%26%7C%26cresumeids88888888d888826%7C8408ilstatus%3D2%26%7C%26cnickname826cenglis8cautologin%3D","/",null,false);
36        
37         //设|好的Cookie加入模拟的客L里。当h发生Ӟ׃Cookie写进h头里?/span>
38         client.getState().addCookie(cookie);
39         int i=0;
40 
41         //开始死循环
42         while(true){
43             try{
44                 //q里是要求客L发送一个请求。直接将PostMethodh出去?/span>
45                 client.executeMethod(method);
46                
47                 //下面是获取返回的l果
48                 InputStream in = method.getResponseBodyAsStream();
49                 ByteArrayOutputStream baos = new ByteArrayOutputStream();
50                 byte[] buff = new byte[1024];
51                 int len = -1;
52                 while((len=in.read(buff))!=-1){
53                     baos.write(buff, 0, len);
54                 }
55                 String result = new String(baos.toByteArray());
56                
57                 //释放资源
58                 in.close();
59                 baos.close();
60 
61                 //?1job里,h历成功的话,会返回一些JavaScript代码Q里面有个alert()输出“历已h”的信息的Q你分析l果Q如果有q句话,则成功刷C。之后就让线E睡?分钟后@环刷斎ͼ
62                 if(result.indexOf("历已h")!=-1){
63                     System.out.println("历已hQ?nbsp;" + ++i);
64                 }else{
65                     System.out.println("hp|Q?/span>");
66                 }
67                 Thread.sleep(60000);
68             }catch(Exception ex){
69                 System.out.println("******** Error! ********");
70                 try{
71                     //出现错误Ӟ再等?0U后再重新进行刷新?/span>
72                     Thread.sleep(20000);
73                 }catch(Exception e){
74                     System.out.println("******** Thread Error! ********");
75                 }
76             }
77         }
78     }
79 
80 }


我们再来看看Q其实很单,我们来说明一下。HttpClient很多Http协议底层的东襉K装了,q样很方便用,如果自已用Socket写的话,q有处理很多信息QHttp协议的三ơ握手等{的操作Q很是麻烦。现在用HttpClient׃步到位了。但要注意一下,51job里面的简历刷新是要先d后才可以q行的,而熟悉Web开发的人员都知道,d后服务器׃记录下你的SessionQ而Session也是ZCookie的,所以Session ID是以Cookie的方式记录在客户机的Q这hơ请求都要将该Cookie发送到服务器验证,q样才可以保证Web的状态。所以,你可以在览器里先登录一ơ。之后找|站的Cookie文gQ将里面的内容复制出来放上上面代码的Cookiec里面。你也可以用q个HttpClient写一个登录的hQ之后再从ResponseHeader里获取Cookie。至于表单里的信息,按自已需要填写就行了。就是模拟一个浏览器Q将你的历刷新的表单模拟出来再发送?br />
在下面,我给Z本电子书l大家下载参考:《Jakarta Commons Cookbook.chm?br /> [down=attachments/month_0803/020083401424.chm]点击下蝲此文件[/down]




]]>
q发~程的重要性!http://www.aygfsteel.com/cph8066/archive/2008/07/29/218362.html姜大?/dc:creator>姜大?/author>Tue, 29 Jul 2008 05:07:00 GMThttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218362.htmlhttp://www.aygfsteel.com/cph8066/comments/218362.htmlhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218362.html#Feedback0http://www.aygfsteel.com/cph8066/comments/commentRss/218362.htmlhttp://www.aygfsteel.com/cph8066/services/trackbacks/218362.html

]]>
配置你的SVN服务器!http://www.aygfsteel.com/cph8066/archive/2008/07/29/218361.html姜大?/dc:creator>姜大?/author>Tue, 29 Jul 2008 05:06:00 GMThttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218361.htmlhttp://www.aygfsteel.com/cph8066/comments/218361.htmlhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218361.html#Feedback0http://www.aygfsteel.com/cph8066/comments/commentRss/218361.htmlhttp://www.aygfsteel.com/cph8066/services/trackbacks/218361.html
配置SVN服务器所需要的准备工具Q?br /> SubVersion  可从 http://subversion.tigris.org 下蝲。这里就是SVN服务器的E序
SVNService.exe  Q非必要Q这个是你的SVN服务端程序注册成Windowspȝ服务的,好比是TomcatQ当你系l启动时Q该SVN服务器会自动启动q后台运行,不注册成服务的话Q就要自已手动打开了?br />
现在工具都准备好了,动工?br /> 下蝲好SubVersion后,p行安装,如果你下载的是ZIP包,那就解压到自定的目录可以用了?br /> 1.  打开CMD命o行模式,q入到SubVersion目录下的bin目录下,输入如下命oQ?br />
svnadmin create d:\svn_projects\project1   Q\径可自定Q?br />
如图Q?br />


注:要先在D盘中建立 svn_projects目录 目录名称可以自已定,
之后打开该目录,你可以看刎ͼSVN帮你建立了一个project1的目录,里面生成了几个方件夹与文Ӟ先不理它

现在Q存N目的路径建好了,下面我们要来配置一下该目的用P密码{信?br /> 来打开project1/conf/文g夹下的svnserve.conf文gQ以C本打开p了,你将会看到很多注释(都是采用Unix风格?# 注释Q将
# anon-access = read
# auth-access = write
# password-db = passwd
# realm = My First Repository
q几句的的注释符号去掉找L前面的空格如下:
anon-access = read
auth-access = write
password-db = passwd
realm = My First Repository

之后打开passwd文gQ以C本打开Q在 [users] 下面d你的用户名与密码
比如我要d一?jiang 用户Q密码是 123456 那么q样?br /> jiang = 123456
保存后就OK了,那么现在Q可以运行SVN服务器程序了?br /> 在Cmd命o行下q入到SubVersion目录下的bin目录下,输入如下命oQ?br />
svnserve -d -r d:\svn_projects

如图所C:


q样服务器就启动了,它会一直侦听的Q所以不要关闭窗口。像Tomcat一样一直挂着pQ如果你觉得q样ȝQ就可以用SVNService.exeq个工具来注册成pȝ后台服务q行?br />
注意Q你现在的项目的SVN地址是Qsvn://localhost/project1  内网更换你的内|IPp了,公网也换Z的公|IPp?br />
现在服务器就启动了,之后你可以用Eclipse的svn工具{将目文g攑ֈ该SVN服务里共享,
如下图所C:



pPSVN的服务器端就搭徏好了Q现在大家可以用SVN客户端更C载下来开发了?br />
关于其它SVN客户工具的登录,可以参考以下文?br /> 如何l合使用Subversion和Eclipse



]]>
Java反射机制http://www.aygfsteel.com/cph8066/archive/2008/07/29/218358.html姜大?/dc:creator>姜大?/author>Tue, 29 Jul 2008 05:00:00 GMThttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218358.htmlhttp://www.aygfsteel.com/cph8066/comments/218358.htmlhttp://www.aygfsteel.com/cph8066/archive/2008/07/29/218358.html#Feedback0http://www.aygfsteel.com/cph8066/comments/commentRss/218358.htmlhttp://www.aygfsteel.com/cph8066/services/trackbacks/218358.html
[*]在运行时判断L一个对象所属的c;
[*]在运行时构造Q意一个类的对象;
[*]在运行时判断L一个类所h的成员变量和ҎQ?br /> [*]在运行时调用L一个类的方法;
[*]生成动态代理;


      在JDK中,主要׃下类来实现Java反射机制Q这些类都位?java.lang.reflect 包中?br />
      [*] Class c:代表一个类?br />       [*] Field c:代表cȝ成员变量
      [*] Method c:代表cȝҎ
      [*] Constructor c:代表cȝ构造方?br />       [*] Array c:提供了动态创建数l,以及讉K数组元素的静态方?br />

看看下面例子Q它d命o行参数指定的cdQ然后打印这个类的所h的方法信息:
 1 import java.lang.reflect.*;
 2 public class DumpMethods{
 3     public static void main(String[] args)thorws Exception{
 4         //加蝲q初始化命o行参数指定的c?/span>
 5      Class classType = Class.forName(args[0]);
 6         //获得cȝ所有方?/span>
 7      Method[] methods = classType.getDeclaredMethods();
 8         for(int i=0;i<methods.length;i++){
 9             System.out.println(methods[i].toString());
10         }
11     }
12 }


q行命o “java DumpMethods java.util.Stack”Q就会显Cjava.util.Stack cLh的方法?br />
q个只是十分之基本,很简单的CZQJava的反还可以做很多东西,可以跟据用户的输入就可以得知哪些c,需要做什么操作,是说动态跟据需要来调用相应的类与相应的ҎQ我之前也做q,用Strutsl合Java反射来实C些功能,有些时候,别h的接口代码里只返回一个Objectl你Q而你p用反来得知该Object是属于哪一个类型,之后Ҏ讄做相应的操作Q不知道大家有用qHibernate没有Q这个框架就是大量用CJava反射Q用户只需配置一下XML文gQHibernateq行Ӟ׃d解析XML配置文gQ之后动态找相应的类Q实例化相应的POJO{等Q这些都是全动态化的,也就是说Q我hq个表的数据Ӟp动实例化该表的POJO实例Q这些都是在XML配置文g里定义好映射关系。ORM框架如此,很多中间件也是大量用反,反灵zȝq用hQ将会得到意想不到的效果Q这也是Java的半动态语a吧。ɾ~程工作变得十分灉|?br />

]]>
Java制作密码输入键?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218351.html</link><dc:creator>姜大?/dc:creator><author>姜大?/author><pubDate>Tue, 29 Jul 2008 04:47:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218351.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218351.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218351.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218351.html</trackback:ping><description><![CDATA[     摘要:     不知道大家有没有用过农业银行的网上银行服务,该网上银行登录时Q输入密码时Q不可以直接打键盘输入,要用鼠标点击囑Ş键盘来输入Q而小键盘里面的数字是随机排列的?     q样一来,可以防止木马记录用户键盘输入的密码被盗,实是挻实用的功能,研究了一dQ也大根掌握了它的工作原理,现在用Java来实玎ͼ大概是这LQ用Strut...  <a href='http://www.aygfsteel.com/cph8066/archive/2008/07/29/218351.html'>阅读全文</a><img src ="http://www.aygfsteel.com/cph8066/aggbug/218351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大?/a> 2008-07-29 12:47 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JspSmartUpload 中文问题Q?/title><link>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218350.html</link><dc:creator>姜大?/dc:creator><author>姜大?/author><pubDate>Tue, 29 Jul 2008 04:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218350.html</guid><wfw:comment>http://www.aygfsteel.com/cph8066/comments/218350.html</wfw:comment><comments>http://www.aygfsteel.com/cph8066/archive/2008/07/29/218350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/cph8066/comments/commentRss/218350.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/cph8066/services/trackbacks/218350.html</trackback:ping><description><![CDATA[     摘要: 上几天,要做Jsp文g上传Q上|Google了几下,发现多是用JspSmartUploadlg来实C传,于是惛_其应用到我的Struts应用里头Q刚开始不太会用,随便写了个表单页面,׃个文件表单域Q上传,OKQ正接Ӟ但当应用到自已的目里时Q发现其它表单的信息出现q了,中文问题又出来了?<br> 但是定是加上了q句Qenctype="multipart/form-data"Q还是不行,文g是可以正获取了Q只是其它的Text Input表单传来的中文怎么转换~码都不行,不能正确q原中文Q我用的是UTF-8~码。我惻Iq应该是JspSmartUpload的问题吧Q上|找了找Q很多都没说q这问题Q有很多文章都是说教你怎么用JspSmartUpload上传文g{等的,但那些例子都是只上传一个文件表单,没有混合上传与普通表单的信息?<br> 郁闷了半天,既然是组件的问题Q我惛_想看看修改它的源码来实现中文混合表单上传Q我下蝲下来的都是Jar包的Q都是已~译好的Q又没时间上|找源码了,只好反编译一下,修改Q再重新~译。唉Q编译下来的c里面的变量名等{都很؜乱,  <a href='http://www.aygfsteel.com/cph8066/archive/2008/07/29/218350.html'>阅读全文</a><img src ="http://www.aygfsteel.com/cph8066/aggbug/218350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cph8066/" target="_blank">姜大?/a> 2008-07-29 12:37 <a href="http://www.aygfsteel.com/cph8066/archive/2008/07/29/218350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">찲</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ұ</a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ڶ</a>| <a href="http://" target="_blank">պ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">Ρɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӣ</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">ͷ</a>| <a href="http://" target="_blank">ɰ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Һ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>