vickzhu

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  151 随笔 :: 0 文章 :: 34 评论 :: 0 Trackbacks

#

public class VickTest {
 public static void main(String[] args) throws InterruptedException {

  for (int i = 0; i <= 65535; i++) {
   MyTask mt=new MyTask(i);
   Thread thread=new Thread(mt);
   thread.start();
   if(i%100==0){
    Thread.sleep(500);
   }
  }
 }

}

class MyTask implements Runnable{
 int port;
 public MyTask(int port) {
  this.port = port;
 }

 public void run() {
  try {
   Socket s=new Socket("203.208.35.100",port);
   System.out.println("端口"+port+"绑定成功!");
  } catch (UnknownHostException e) {
   System.out.println("主机不明");
  } catch (IOException e) {
   System.out.println("端口"+port+"绑定失败.");
  }
 }
}

posted @ 2008-11-19 15:19 筱 筱 阅读(262) | 评论 (0)编辑 收藏

cvsnt配置 创建用户

1 、下载cvsNt地址
       http://www.march-hare.com/cvsnt/features/cvsnt/

2、创建仓库(Ropository)                          (版本为:CVS 2.5.03)
   
        安装完成后,打开 "开始"菜单——>“程序”——> “CVSNT"——> "CVSNT Control Panel" 程序 ,打开cvs管     

         理窗品,选择"Ropository configuation"选项卡,单击"add"按钮添加仓库,location为文件本机存放路径。


       选择一个路径。Name会自动改为"/目录文件夹"! 这个名子也可以修改。点击OK按钮,它会提示你“这个

        文件夹不是cvs仓库,是否初始化?”的英文提示。点击“是“。创建仓库完毕。

3、创建新用户

       cvs默认高级管理员为windows高级管理员。在添加新用户时,首先用高级管理员登陆。步骤如下:

       1> 打开Dos窗口 输入以一命令
          set cvsroot=:pserver:administrator@127.0.0.1:/cvs    回车
             其中
“/cvs”就是在创建仓库时的name
     
2>输入cvs login                              回车

      3>输入administrator的密码                回车                          

        4>输入
cvs passwd -a xgz //添加用户xgz    回车

       5>输入新密码

          6>再次输入密码


OK新用户创建成功!

set cvsroot=:pserver:xgz@127.0.0.1:/cvsRoot   测试一下

别忘了 cvs login

输入密码登陆测试添加用户是否成功.

如果出现

Fatal error, aborting.
       cvs [login aborted]: test1: no such user

这种错误.还要打开"
CVSNT Control Panel" 程序在"Server Settings"选项卡的Run as 下拉框,选中administrator   默认为 client user
posted @ 2008-11-13 16:11 筱 筱 阅读(1849) | 评论 (0)编辑 收藏

以下都是实战经验:
1、Socket读取
      String strServer=http://www.google.cn;//这里同样可以用ip来访问:203.208.35.100
      String strPage="/language_tools?hl=zh-CN";
      try { 
           String hostname = strServer; 
           int port = 80; 
           InetAddress addr = InetAddress.getByName(hostname); 
           Socket socket = new Socket(addr, port);
           BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8")); 
           wr.write("GET " + strPage + " HTTP/1.0\r\n"); 
           wr.write("HOST:" + strServer + "\r\n"); 
           wr.write("\r\n"); 
           wr.flush();
           BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
           String line; 
           while ((line = rd.readLine()) != null) { 
                System.out.println(line); 
           }
           wr.close(); 
           rd.close(); 
      } catch (Exception e) { 
           System.out.println(e.toString()); 
      }
2、HttpClient方式
      HttpClient client=new HttpClient();
      GetMethod method=new GetMethod("http://www.baidu.com/");
      int status=client.executeMethod(method);
      if(status==HttpStatus.SC_OK){
       //读取内容
       byte[] responseBody = method.getResponseBody();
       //处理内容
       System.out.println(new String(responseBody));
       System.out.println("文件名称:"+method.getPath());
        }
3、HttpURLConnection方式
      URL url = new URL("这里是你要连接的地址");
      HttpURLConnection conn = (HttpURLConnection)url.openConnection();
      conn.setDoOutput(true);//是否可用于输出(输出参数),默认为fasle。另:setDoInput()为是否可用于输入,默认为true
      String parameters = "name=admin&password=123456";//这里是要传递的参数
      OutputStream os = conn.getOutputStream();
      os.write(parameters.getBytes("utf-8"));
      os.flush();
      os.close();
      System.out.println("返回状态码:"+conn.getResponseCode());
      System.out.println("返回消息:"+conn.getResponseMessage());
      InputStream is = conn.getInputStream();
      BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));
      String line = null;
      while((line=br.readLine())!=null){
       System.out.println(line);
      }
    //  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();;
    //  DocumentBuilder db = dbf.newDocumentBuilder();
    //  Document doc = db.parse(is);
如果谁还有更多的方式分享,请留言!
posted @ 2008-11-12 10:12 筱 筱 阅读(985) | 评论 (2)编辑 收藏

    getOutputStream() has already been called for this response 这个错误遇到过不少次,网上看到大多不能解决问题。
    下面两点是我自己总结出来的:
    1、在我们应用验证码时,都会用到字节流response.getOutputStream()来将验证码输出,但是jsp页面自己最后会调用字符流JspWriter的out()方法将页面的内容输出。通过查看servlet的API我们可以看到知道,在servlet中不能够同时利用这两个流输出,解决办法将验证码写在servlet中,具体见下面。
    2、相信请求转发( request.getRequestDispacher().forward() )和请求跳转( response.sendRedirect() )的区别大家都知道。其中request.getRequestDispacher().forward() 方法的调用者与被调用者之间共享相同的request对象和response对象,它们属于同一个访问请求和响应过程。JSP页面转译为的_servlet会最后调用releasePageContext()方法( All PageContext objects obtained via this method shall be released by invoking releasePageContext().)释放我们页面所有的实体对象,当我们的调用者有页面输出时,就会抛出这个异常。具体原因也没有弄清楚,各位大侠如果谁知道可以告知一下。其实验证码也是同一个原理,如果我们将验证码的代码写在jsp页面中,因为jsp页面会调用JspWriter的out()方法将内容输出,同时我们的图片又调用了response.getOutputStream()方法因此会抛出这个异常;如果我们将验证码写在servlet中,就不会同时使用两种输出也就不会出错。有时即使调用者页面没有输出,也会抛出这个异常,仔细看jsp转译以后的源码发现输出了换行,因此,我们最好把调用者页面的%>和<%之间换行去掉,把%>和<%直接写在一起。
    另外,如果我们实在要在jsp中用到response.getOutputStream(),比如验证码、jspSmartUpload,我们需要在最后加入如下代码:
        response.reset();
        out.clear();
        out=pageContext.pushBody();

    有不对之处还望指教!
    
posted @ 2008-11-03 14:38 筱 筱 阅读(37161) | 评论 (19)编辑 收藏

网上找了很久,关于这方面的文章都是转载的,而且过时了,根本就用不上,自己做了一个这方面的整合,现在和大家分享一下:
准备工作:
    一、下载Apache服务器:
            地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.2.10-win32-x86-no_ssl.msi
            (D:\Program Files\Apache Software Foundation\Apache2.2)
    二、下载JK(Apache、tomcat整合必须)
            地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/mod_jk-1.2.26-httpd-2.2.4.so
            放在D:\Program Files\Apache Software Foundation\Apache2.2\modules下
            (mod_jk-1.2.26-httpd-2.2.4.so适用于Apache2.2所有版本)
    三、Tomcat和JDK就不用说了,我用的是Tomcat6.0(D:\Programe Files\Tomcat 6.0)和JDK1.6(D:\Programe Files\JDK1.6)
配置:
        1、在D:\Programe Files\Tomcat 6.0\conf 下新建文件workers.properties
        内容如下:
        workers.tomcat_home=D:\Programe Files\Tomcat 6.0 
        #让mod_jk模块知道Tomcat的位置
        workers.java_home=D:\Programe Files\JDK1.6\jre 
        #让mod_jk模块知道jre的位置 
        ps=\ 
        worker.list=ajp13 #模块版本 
        worker.ajp13.port=8009 
        #工作端口,若没占用则不用修改 
        worker.ajp13.host=192.168.0.142
        #本机
        worker.ajp13.type=ajp13 
        #类型 
        worker.ajp13.lbfactor=1 
        #代理数,不用修改

    2、修改D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件
        端口:Listen 80 这是默认的,大家可以改这里
        模块:里面有一堆模块在其中添加一个LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
        ServerAdmin:不用改,是个邮件地址
        ServerName:服务器名称,可以用ip也可用dns,这里通常注释了,我们通常把注释给去掉,否则当你启动apache的时候会报Could not reliably determine the server's fully qualified domain name, using 192.168.0.142 for ServerName错误,但是这并不影响你的程序的运行
        DocumentRoot:工程的根路径,和Tomcat里配置的虚拟目录docBase属性相同
        <Directory "  ">:这里必须和DocumentRoot设置一样
        添加如下代码:
            <VirtualHost localhost>
             DirectoryIndex index.html index.htm index.jsp
             JkMount /servlet/* ajp13
             #让Apache支持对servlet传送,用以Tomcat解析
             JkMount /*.jsp* ajp13 
             #让Apache支持对jsp传送,用以Tomcat解析
             JkMount /*.bst* ajp13 
             #让Apache支持对.bst传送,用以Tomcat解析
             JkMount /RandCode* ajp13
             #让Apache支持对Servlet传送,用以Tomcat解析
            </VirtualHost>
    完毕,运行http://localhosthttp://locahost:8080可以看到结果是一样的
    不正确的地方请多多指教!
posted @ 2008-10-30 17:34 筱 筱 阅读(1692) | 评论 (2)编辑 收藏

公司里的表里有很多数据不正确,今天打算将数据库中的数据整理一下,正好发现两张表需要联合更新

在网上查了一些资料,自己试了一下,sql语句如下:
    update law_answer set law_answer.lmakerID=q.lUserID from law_answer a,law_question q where a.lquestionID=q.lquestionID
注意set后面要更新的列不能用别名
posted @ 2008-10-29 15:52 筱 筱 阅读(1151) | 评论 (0)编辑 收藏

        今天又测试了一下搭建了一下SSH框架,但是出了一个问题,当我用get()加载一个对象的时候没有异常,但是用load()的时候抛出了异常,异常如下:
java.lang.NullPointerException
 at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
 at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
 at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
 at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
 at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
 at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
 at org.hibernate.impl.SessionImpl.load(SessionImpl.java:781)
 at org.hibernate.impl.SessionImpl.load(SessionImpl.java:774)
 at org.springframework.orm.hibernate3.HibernateTemplate$3.doInHibernate(HibernateTemplate.java:508)
 at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
 at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:502)
 at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:496)
 at com.bestone.SSH.hibernate.LawUserDAO.findByName(LawUserDAO.java:104)
 at com.bestone.SSH.service.impl.LoginServiceImpl.checkLogin(LoginServiceImpl.java:30)
 at com.bestone.SSH.struts.action.LoginAction.execute(LoginAction.java:63)
 at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 at java.lang.Thread.run(Thread.java:619)

        碰到这个问题,我马上想到了加载数据时load和get的区别:
        1、load总是假定要查询的数据存在,如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。
        2、load方法返回实体的代理实例,而get方法永远直接返回实体类。
        3、load方法可以充分的利用一级缓存和二级缓存中的数据,而get方法则仅仅在一级缓存中进行数据查找,如果没有发现对应的数据,将越过二级缓存,直接调用sql完成数据读取(经过我的证实,在hibernate3.2中get()方法是可以查找二级缓存的)。
        仔细看了看错误,想来想去应该是生成代理类的时候出现了错误。java中生成代理类有两种形式,一是java动态代理,二是利用cglib生成。而hibernate中实体的代理类是用cglib生成的。
        后来仔细研究了一下jar包,通过jar包源码发现,原来是cglib-2.1.3.jar和cglib-nodep-2.1_3.jar相冲突,只需要把cglib-2.1.3.jar包删除就没有问题了。查看cglib-nodep-2.1_3.jar的源码我们还发现一个问题,它包含了asm-attrs.jar的全部类,但是使用的包名不同,不知道有没有冲突,运行程序查看日志,暂时没有发现什么问题,就留着asm-attrs.jar吧。
        
posted @ 2008-10-22 17:36 筱 筱 阅读(993) | 评论 (2)编辑 收藏

1、gpedit.msc   组策略
2、msconfig      系统配置实用程序
3、dxdiag         DirectX诊断工具 可以查看显卡,声卡是否安装等
4、winmsd       系统信息(包括硬件资源、软件环境、组件、Internet设置等)
5、secpol         本地安全策略

posted @ 2008-10-22 15:12 筱 筱 阅读(137) | 评论 (0)编辑 收藏

修改/bin/service.bat里面的 set SERVICE_NAME=Tomcat6(这里是服务名,名字可以随意起)
在命令行执行下面的命令:
安装服务:service install Tomcat6
卸载服务:service remove Tomcat6

启动服务:net start Tomcat6
关闭服务:net stop Tomcat6
posted @ 2008-10-17 14:41 筱 筱 阅读(873) | 评论 (0)编辑 收藏

posted @ 2008-10-13 10:53 筱 筱 阅读(207) | 评论 (0)编辑 收藏

仅列出标题
共9页: 上一页 1 2 3 4 5 6 7 8 9 下一页