ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

#

这个调试器一般是GNU Debugger,即gdb.另一个,也是和KDE最兼容的调试工具,kdbg是gdb在KDE上的图形前端.ddd(代表Display Data Debugger)和xgdb都是gdb普通的X前端.
posted @ 2005-08-04 21:45 ivaneeo 阅读(236) | 评论 (1)编辑 收藏

在大多数Linux系统上,这些文件都位于/usr/src/linux目录下,c开发包典型的名字是glibc-devel-something.rpm.
posted @ 2005-08-04 21:44 ivaneeo 阅读(183) | 评论 (0)编辑 收藏

Linux对于佳能(Cannon)打印机的支持较差,因为历史上佳能公司不愿意提供技术文档.Linux支持绝大数惠普(HP)打印机(以及模仿惠普的 打印机).Linux对爱普生(Epson)打印机的支持也做得最好.要查看Ghostscript支持的打印机的完整列表,可以在命令行上键入:

$gs --help
gs命令会列出长长的一份它支持的打印机和输出设备的名单.
posted @ 2005-08-04 21:44 ivaneeo 阅读(270) | 评论 (0)编辑 收藏

Linux在线(Linux Online,地址 http://www.linuxdoc.org )维护了一个"Project"网页,网页上包含有指向许多主要开发项目的连接,其中也有指向多种硬件设备支持项目的连接.

注意  http://www.linuxdoc.org/HOWTO/Hardware-HOWTO.html 
硬件兼容性列表HOWTO的目的有两个.首先,列举了一系列Linux支持或不支持的特殊设备,这可以简化创建开发系统的任务.其次,HOWTO还给出了其他文档,这些文档列举出了Linux支持或不支持的更多硬件.
posted @ 2005-08-04 21:43 ivaneeo 阅读(139) | 评论 (0)编辑 收藏

POSIX是由电子和电气工程师协会(Institute of Electrical and Electronic Enginees,IEEE)提出的一系列标准,用于定义一个可移植的操作系统接口.实际上,Linux为什么与UNIX这么相象,原因就在于Linux遵循POSIX标准.
posted @ 2005-08-04 21:42 ivaneeo 阅读(1031) | 评论 (0)编辑 收藏

1.SOAP(简单对象访问协议的简称)定义了一个标准,该标准为通过网络在应用程序间传输XML数据封装格式.(1.1)
2.WSDL(Web Services Description Language, Web服务描述语言)是一个标准,用于描述使用SOAP在两个系统间交换的XML数据的结构.(1.1)
3.UDDI 虽然WSDL对描述由Web服务使用的SOAP消息的类型提供了很好的格式,但它没有提供如何存储WSDL文档以及如何查找WSDL文档方面的信息.UDDI(Universal Description,Discovery,and Integeration,通用描述,发现和集成)定义了一套标准的Web服务操作(方法),用于存储,查找有关其他Web服务应用程序方面的信息.(2.0)

Web Services API
1.JAX-RPC 可以将JAX-RPC看成是位于SOAP之上的Java RMI(Java远程方法调用).JAX-RPC分两个部分,即一套客户端API和一套服务器端API,它们均称为端点.(1.1)
2.SAAJ(SOAP with Attachments API for Java, 由于Java的带附件API的SOAP)是一个低级SOAP API,它要于SOAP1.1和带附件规范的SOAP消息一起编译.
3.JAXR(Java API for XML Registries,用于XML注册的Java API)提供了用于访问UDDI注册表的API.
3.JAXP(Java API for XML Processing,用于XML处理的Java API)为使用DOM2和SAX2以及为用于读,写和修改XML文档的标准Java API提供了架构.(1.2)

SOAP的主要应用是应用程序与应用程序之间的通信(即A2A),且主要应用于商务对商务(即B2B)的通信以及企业应用集成(EAI).

SOAP消息传递模式:
1.Document/Literal消息传递模式:
<?xml version="1.0" encoding="UTF-8"?>
<soap-Envelope
xmlns:soap="  http://schemas.xmlsoap.org/soap/envelop/" ;
  xmlns:mi="  http://www.Monson-Haefel.com/jwsbook/message-id" ;
  xmlns:proc="  http://http://www.Monson-Haefel.com/jwsbook/processed-  ;   by">
  <soap:Header>
    <!--Header blocks go here-->
  </soap:Header>
  <soap:Body>
    <po:purchaseOrder orderDate="2003-09-22"
      xmlns:po="  http://www.Monson-Haefel.com/jwsbook/PO" ;>
        <po:accountName>Amazon.com</po:accountName>
        <po:accountNumber>923</po:accountNumber>
        <po:book>
          <po:title>J2EE Web Services</po:title>
          <po:quantity>300</po:quantity>
          <po:wholesale-price>24.99</po:wholesale-price>
        </po:book>
    </po:purchaseOrder>
  </soap:Body>
</soap-Envelope>
2.RPC/Literal消息传递模式
用一个这样的方法调用:
package com.jwsbook.soap;
import java.rmi.RemoteException;

public interface BookQuote extends java.rmi.Remote {
  public float getBookPrice(String ISBN) throws RemoteException,
    InvalidISBNException;
}

RPC/LiteralSOAP请求消息:
<?xml version="1.0" encoding="UTF-8"?>
<soap-Envelope
xmlns:soap="  http://schemas.xmlsoap.org/soap/envelop/" ;
  xmlns:mh="  http://www.Monson-Haefel.com/jwsbook/BookQuote" ;>
    <soap:Body>
     <mh:getBookPrice>
       <isbn>0321146182</isbn>
     </mh:getBookPrice>
    </soap:Body>
</soap-Envelope>
RPC/Literal SOAP响应消息:
<?xml version="1.0" encoding="UTF-8"?>
<soap-Envelope
xmlns:soap=" http://schemas.xmlsoap.org/soap/envelop/" ;
  xmlns:mh="  http://www.Monson-Haefel.com/jwsbook/BookQuote" ;>
    <soap:Body>
      <mh:getBookPriceResponse>
        <result>24.99</result>
      </mh:getBookPriceResponse>
    </soap:Body>
</soap-Envelope>
posted @ 2005-08-04 21:41 ivaneeo 阅读(244) | 评论 (0)编辑 收藏

Axis的webservices的文件是.jws结尾的.例如:EchoHeaders.jws.文件如下:
/*
* Copyright 2002,2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*        http://www.apache.org/licenses/LICENSE-2.0 
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.transport.http.HTTPConstants;

import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.ArrayList;
import java.util.Iterator;

/**
* class to list headers sent in request as a string array
*/
public class EchoHeaders {

    /**
     * demo message context stuff
     * @return list of request headers
     */
    public String[] list() {
        HttpServletRequest request = getRequest();
        Enumeration headers=request.getHeaderNames();
        ArrayList list=new ArrayList();
        while (headers.hasMoreElements()) {
            String h = (String) headers.nextElement();
            String header=h+':'+request.getHeader(h);
            list.add(header);
        }
        String[] results=new String[list.size()];
        for(int i=0;i<list.size();i++) {
            results[i]=(String) list.get(i);
        }
        return results;
    }

    /**
     * get the caller; may involve reverse DNS
     * @return
     */
    public String whoami() {
        HttpServletRequest request = getRequest();
        String remote=request.getRemoteHost();
        return "Hello caller from "+remote;
    }

    /**
     * very simple method to echo the param.
     * @param param
     * @return
     */
    public String echo(String param) {
        return param;
    }
    
    /**
     * throw an axis fault with the text included
     */
    public void throwAxisFault(String param) throws AxisFault {
        throw new AxisFault(param);
    }
    
    public void throwException(String param) throws Exception {
        throw new Exception(param);
    }

    /**
     * thow a runtime exception
     */
    public void throwRuntimeException(String param) {
        throw new RuntimeException(param);
    }
    
    /**
     * helper
     * @return
     */
    private HttpServletRequest getRequest() {
        MessageContext context = MessageContext.getCurrentContext();
        HttpServletRequest req = (HttpServletRequest) context.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
        return req;
    }

}
要测试这个服务只有发送一个请求.例如:  http://localhost:8080/axis/EchoHeaders.jws?method=list 
测试调用test方法,返回如下:
<soapenv:Envelope>
-
<soapenv:Body>
-
<listResponse soapenv:encodingStyle="  http://schemas.xmlsoap.org/soap/encoding/" ;>
-
<listReturn soapenc:arrayType="xsd:string[9]" xsi:type="soapenc:Array">
<listReturn xsi:type="xsd:string">host:localhost:8080</listReturn>
-
<listReturn xsi:type="xsd:string">
user-agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20050603 Netscape/8.0.2
</listReturn>
-
<listReturn xsi:type="xsd:string">
accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
</listReturn>
<listReturn xsi:type="xsd:string">accept-language:zh-cn,en-us;q=0.7,en;q=0.3</listReturn>
<listReturn xsi:type="xsd:string">accept-encoding:gzip,deflate</listReturn>
<listReturn xsi:type="xsd:string">accept-charset:x-gbk,utf-8;q=0.7,*;q=0.7</listReturn>
<listReturn xsi:type="xsd:string">keep-alive:300</listReturn>
<listReturn xsi:type="xsd:string">connection:keep-alive</listReturn>
<listReturn xsi:type="xsd:string">cookie:JSESSIONID=372712D816D7D305998853CE05B56282</listReturn>
</listReturn>
</listResponse>
</soapenv:Body>
</soapenv:Envelope>
posted @ 2005-08-04 21:40 ivaneeo 阅读(345) | 评论 (0)编辑 收藏

1.必须有SSH.
2.在HOME中$ ssh-keygen -t rsa (用rsa加密产生一对公钥(id_rsa)和密钥(id_rsa.pub)).
3.把公钥改一下名字然后拷到要登陆的机子上的HOME中的.ssh目录下.
注意:本地的用户名和要登陆的用户名要相同!
posted @ 2005-08-04 21:38 ivaneeo 阅读(231) | 评论 (0)编辑 收藏

1.在安装Grub/Lilo之前,alt+F2获得一个控制台.
2.# chroot /target
3.在/etc/mkinitrd/modules文件中加入megaraid2.
4.# mount -t proc name /proc
5.# cp /boot/initrd.img-2.4.27-1-386 /boot/initrd.img-2.24.27-1-386.ORIG
6.# mkinitrd -o /boot/initrd.img-2.24.27-1-386
7.# cd /
  # umount /proc
  # exit
  退出chroot
8.alt+F1返回安装界面.
posted @ 2005-08-04 21:37 ivaneeo 阅读(306) | 评论 (0)编辑 收藏

1.打开2401端口:在/etc/inetd.conf加入
  cvspserver stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/cvs-pserver
2.设置cvsd:
  命令# cvsd-buildroot /data/cvs 建立/data/cvs根目录.
  命令# mkdir /data/cvs/myrepos和# cvs -d /data/cvs/myrepos init初始化资源库.
  命令# chown cvsd:cvsd -R /data/cvs
  在/etc/cvsd/cvsd.conf中RootJail后改为/data/cvs,最后加入Repos /myrepos
  命令# cvsd-passwd /data/cvs/myrepos +cvs:cvsd加入用户.
  命令# /etc/init.d/cvsd cvsd restart 重启cvsd.
  在home中建立 .cvspass文件.
  命令$ export CVSROOT=:pserver:cvs@localhost:2401/myrepos加入环境变量.
  命令$ cvs login登陆.
posted @ 2005-08-04 21:37 ivaneeo 阅读(371) | 评论 (0)编辑 收藏

仅列出标题
共67页: First 上一页 58 59 60 61 62 63 64 65 66 下一页 Last