??xml version="1.0" encoding="utf-8" standalone="yes"?>国产丝袜视频在线播放,欧美区一区二区,日韩一区二区免费视频http://www.aygfsteel.com/gaofeng/articles/127586.htmlJava.netJava.netThu, 01 Mar 2007 09:05:00 GMThttp://www.aygfsteel.com/gaofeng/articles/127586.htmlhttp://www.aygfsteel.com/gaofeng/comments/127586.htmlhttp://www.aygfsteel.com/gaofeng/articles/127586.html#Feedback0http://www.aygfsteel.com/gaofeng/comments/commentRss/127586.htmlhttp://www.aygfsteel.com/gaofeng/services/trackbacks/127586.html|站Q?a >JavaEye 作者:jvincent 发表旉: 2007-03-01 17:05 此文章来自于 http://www.JavaEye.com
声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!
原文链接Q?a style="COLOR: red" > http://xzgf.javaeye.com/blog/56776

最q在做一个项目开发框?前台使用Applet,服务器端最先考虑使用EJB3q行开?但由于EJB采用的是RMI-IIOP协议q行底层数据传输,难于跨越防火?故考虑使用Spring提供的远E服务访问技术进行服务器端的~程.试成功,记录下来..


环境:Eclipse3.2.2 JDK1.5 Spring2.0.2


1、由于客L采用Applet,需要下载代码到客户?单v?所有的class都打包在一个jar包中,供客L下蝲.以后考虑对下载的c进行缓?以提高应用效?

2、在IE中对appletq行配置,通过classid可以客L的jre环境,如果不是需要的jdk版本,q里?.5,则通过/Client下的客户端程序进行下?׃应用定位于局域网?下蝲一?0多M的程序应该不成问?.

3、applet讉K本地资源的策略略q?有兴的可以留言....


下面主要介绍一下如果在Spring2.0.2中进行远E服务访?br>
1、定义客L接口,此接口是暴露l客L?...


接口中只有一个方法sayHello,作用?Ҏ客户端传入的str,传到服务器端q接一个字W串,再传到客L.


2、定义一个类,实现IHelloWorld接口.


3、接下来是通过xml文gq行lg的配|?.

Spring的远E服务访问是通过org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter和org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean 两个cL实现?HttpInvokerServiceExporter负责定义的服务q行导出,是目标服务暴露出?HttpInvokerProxyFactoryBean 负责客户端代?http的posth定位到指定的服务.默认情况?Spring使用J2SE的http功能.可以通过注入commons的httpclient指定lHttpInvokerProxyFactoryBean..

步骤:

1、web.xml文g:dorg.springframework.web.context.ContextLoaderListener监听.定义一个org.springframework.web.servlet.DispatcherServlet

命名?nbsp;httpinvoker..之后当服务器启动是会自动到WEB-INF下寻找httpinvoker-servlet.xml文gq行bean初始?

之后定义一个servlet-mapping,使所有以/http/l尾的请求全部定位到httpinvoker Servlet?br>
2、applicationContext.xml 定义一个Bean  初始化HelloWorldImpl.

3、httpinvoker-servlet.xml 定义两个Bean BeanNameUrlHandlerMapping用于ҎBeanNameq行映射...HttpInvokerServiceExporter用于q程服务导出.

4、以上三步就已经完成了远E服务的复制工作.以下实现客户端的调用配置.clientContext.xml用于配置客户端的讉K..x定服务器的地址、端口等基础信息.

5、最后就可以在代码进行初始化clientContext.xml文g,通过ctx.getBean(helloWorldService);来进行访问了.


 


java 代码




  1. public class HelloWorldImpl implements IHelloWorld {   
  2.     public String sayHello(String str) {   
  3.         return str +  " ,  Ƣ迎使用Springq程服务讉K..."  
  4.     }   
  5. }   


 


java 代码




  1. public interface IHelloWorld {    
  2.     public  String sayHello(String str);   
  3. }   

 




?通过Springq行q程服务讉K ?的评Z很精彩,Ƣ迎您也d评论。查看详l?>>

推荐相关文章Q?br>  Google Guice - 比Spring?00倍的IoC容器
  关于Service和DAO层的功能划分的迷?/a>




JavaEye推荐
q州Q梦境网l公司:薪水Q期权诚聘高Uh?C++工程??Java工程?/a>
北京Q高薪诚聘Ruby on Rails高手Q?月薪15Q?5K
上vQ尤恩斯国际集团Q诚聘开发工E师
北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA



文章来源: http://xzgf.javaeye.com/blog/56776

Java.net 2007-03-01 17:05 发表评论
]]>
[导入](转脓)Classpath和Codebasehttp://www.aygfsteel.com/gaofeng/articles/127587.htmlJava.netJava.netTue, 27 Feb 2007 02:38:00 GMThttp://www.aygfsteel.com/gaofeng/articles/127587.htmlhttp://www.aygfsteel.com/gaofeng/comments/127587.htmlhttp://www.aygfsteel.com/gaofeng/articles/127587.html#Feedback0http://www.aygfsteel.com/gaofeng/comments/commentRss/127587.htmlhttp://www.aygfsteel.com/gaofeng/services/trackbacks/127587.html|站Q?a >JavaEye 作者:jvincent 发表旉: 2007-02-27 10:38 此文章来自于 http://www.JavaEye.com
声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!
原文链接Q?a style="COLOR: red" > http://xzgf.javaeye.com/blog/56171

Classpath和Codebase







概要



Classpath和Codebase是Java中非帔R要的两个概念Q初学者如果没有掌握这两个概念Q在遇到诸如ClassNotFoundException或者相关的异常时不知所措。另外,很多其它斚w的错误往往也和Classpath有关。本文将详细解释q两个概念,q且描述在命令行方式和集成开发环境(以JBuilderZQ中的设|方式?nbsp;



什么是Classpath



Classpath是Java中的重要概念Q它描述了Java虚拟机在q行一个Class时在哪些路径中加载要q行的类以及q行的类要用到的cR简单的_是像操作系l的pathQ只不过q个classpath是由Java的虚拟机来用查N要加载的c,而操作系l的path是由操作pȝ用来查找用户输入的可执行E序。同path一Pclasspath也是一个环境变量,可以通过set命o来设|?nbsp;



Classpath和Java包的关系



Java的包QPackageQ和classpath关系密切。包是以“.”分割的,SUN使用域名的逆向排列来区分不同的包,以避免冲H,如com.company.util。在一个包里的cd存储的时候需要存储在和包名相同的目录里,如上qcom.company.util包中的Sample.classQ要存储在com\company\util目录中?nbsp;

Classpath有两U表达方式,一U是指向目录的classpathQ如C:\work\classesQ表CC:\work\classes目录是一个classpath条目Q另一U方式是指向压羃文g的classpathQ如C:\work\util.jarQ表CC:\work\util.jar文g是一个classpath条目QQ何一个包含Javacȝzip格式的压~文仉可以作ؓclasspath的条目?nbsp;

那么classpath和包到底是什么关pdQ简单的_是Java虚拟机在加蝲cȝ时候以q样一U方式查扑օ体的cLӞclasspathQ包存储的目录+具体的类文g。如classpath中有一个c:\work\classes条目Q需要加载的cLcom.company.util.Sample.classQ那么在加蝲q个cȝ时候,虚拟Z查找c:\work\classes\com\company\util目录Q如果Sample.class在这个目录中Q虚拟机可以找刎ͼ如果q个cM在这个目录中Q同时也不在M一个其它classpath中,那么虚拟Z抛出一个ClassNotFoundException?nbsp;



Classpath的顺序和cȝ本冲H?br>


Java虚拟机在加蝲cȝ时候查找classpath是有序的,如果在classpath中有多个条目都有同一个名U的c,那么在较前位|的cM被加载,后面的会被忽略。这U按照顺序的cd载可能会Dcȝ版本冲突。例如classpathQc:\servlet2.2\servlet.jarQc:\servlet2.3\servlet.jarQ那么在实际应用的过E中Q你使用的是servlet2.2Q而不是servlet2.3。很多时候如果不注意q一点,可能会导致奇怪的异常?nbsp;



命o行状态下的classpath讄



命o行状态下的classpath可以通过两种方式讄?nbsp;

一U是直接讄环境变量Q例如在windows环境下,我们使用set命oQ?nbsp;

set classpathQc:\work\classesQc:\work\util.jar 

另一U方式是在执行javac、java或者其它Java命o时直接指定classpathQ?nbsp;

java -classpath c:\work\classes;c:\work\util.jar com.company.util.Sample 



集成开发环境下的classpath讄



集成开发环境中讄classpath一般通过其用L面进行,各种集成开发环境的classpath讄各不相同Q我们以JBuilderZ来说明集成开发环境下的classpath?nbsp;

1.讄Jbuilder的Library 

JBuilder中的classpath要通过cd来设|,首先选择Tools->;Configure LibraryQ然后点击New按钮Q点击Add...Q可以选择要增加的cdQ这个类库可以是目录Q也可以是zip格式的压~文Ӟ?jar或?zip?nbsp;

2.讄目需要用到的Library 

在设|了cd之后Q在JBuilder中运行一个class时ƈ不会马上查找你加入的cdQ而是要在Project->;Project Properties->;Path->;Required Library中设|,选择Add...按钮Q你可以增加自qclasspath条目了?nbsp;



什么是Codebase



使用Java语言~写的程序,不仅可以在本地的classpath中加载类Q也可以Ҏ需要从|络上下载类。ؓ了JavaE序可以从网l上下蝲c,我们需要用codebaseQcodebase指定了JavaE序在网l上何处可以扑ֈ需要的cR?nbsp;



在Java Applet中用codebase



众所周知Q可以在Java Applet中用codebase指定Applet加蝲其所需要的cȝ|络位置.



q个Applet指定了其所用的cd以在服务器上Applet所在的目录下找到?nbsp;



在Java Application中用codebase



不仅在Applet中可以用codebaseQ在Application中也可以使用codebase。这样Application除了可以使用classpath中的c,q可以用网l上的类。例如: 

java Qclasspath c:\work\classes Qcodebase http://www.company.com/classes Sample 

应用E序Sample不仅可以使用c:\work\classes中的c,q可以用http://www.company.com/classes中的cR?nbsp;



Classpath和codebase的关p?br>


既然Java虚拟机即可以在classpath中加载类Q又可以在codebase中加载类Q那么classpath和codebase是什么关pdQ实际上QClasspath和codebase都是ql类加蝲器(Class LoaderQ用的。类加蝲器在加蝲一个类的时候,首先在classpath中查N要的c,然后在codebase中查找,W一个被查找到的cM被加载。例如,在早期的JDK版本中,~省codebase是空|如果没有在classpath中指?#8220;.”Q当前目录)Q运行当前目录下的java class时会出现ClassNotFoundExceptionQ而在晚些版本中,~省codebase?#8220;.”Q所以即使不在classpath中加?#8220;.”Q当前目录下的java class仍然可以正常q行?nbsp;



ȝ



初学Java的朋友一定要掌握classpath和codebase的概念,理解其内涵,如果出现~译、运行程序的q程中出C么问题,首先应该考虑是否是classpath的问题。实际上Q甚至一些非常复杂的应用中,比如服务器端应用Q都会因为classpath的设|而出现莫名其妙的问题。如果大家在阅读本文的过E中有什么问题,h出来大家一赯论?/p>

 




?(转脓)Classpath和Codebase ?的评Z很精彩,Ƣ迎您也d评论。查看详l?>>





JavaEye推荐
q州Q梦境网l公司:薪水Q期权诚聘高Uh?C++工程??Java工程?/a>
北京Q高薪诚聘Ruby on Rails高手Q?月薪15Q?5K
上vQ尤恩斯国际集团Q诚聘开发工E师
北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA



文章来源: http://xzgf.javaeye.com/blog/56171

Java.net 2007-02-27 10:38 发表评论
]]>
վ֩ģ壺 | ͼʲ| | ˮ| | | | Ժ| | ƺ| | | ׶| | | ũ| | | | Ĭ| | ʯ| | | ɽ| | | ɽ| Ӵ| ƽ| | | ɶ| | | ԭ| | ˮ| | | |