课题java学习eclipse + Weblogic 12c + svn 集成开发环境搭建.docx
- 文档编号:5968458
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:30
- 大小:1.74MB
课题java学习eclipse + Weblogic 12c + svn 集成开发环境搭建.docx
《课题java学习eclipse + Weblogic 12c + svn 集成开发环境搭建.docx》由会员分享,可在线阅读,更多相关《课题java学习eclipse + Weblogic 12c + svn 集成开发环境搭建.docx(30页珍藏版)》请在冰点文库上搜索。
课题java学习eclipse+Weblogic12c+svn集成开发环境搭建
java学习:
eclipse+Weblogic12c+svn集成开发环境搭建
一、先下载FreeOracleWebLogicServer12c(12.1.1)ZipDistributionandInstallersforDevelopers
这个安装以后,就已经自带了Eclipse(而且已经集成了weblogic插件),安装完成后,可以通过“开始菜单->所有程序->OracleEnterprisePackforEclipse->OracleEnterprisePackforEclipse”启动
二、64位机器上,Eclipse启用失败的问题
出错时,提示信息如下:
Javawasstartedbutreturnedexitcode=1
...
网上找了很多文章,都说是修改eclipse.ini配置或重新安装32位JVM,但我试了貌似都无效,最后发现还是得在环境变量里修改:
2.1 添加系统环境变量JAVA_HOME,其值为c:
\bea\jdk160_29\ (此处修改为自己机器上的jdk实际物理目录)
2.2 PATH环境变量最后添加 ;%JAVA_HOME%\bin\
2.3 添加系统环境变量CLASSPATH,其值为 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
检测这些变量是否正确的最简单办法:
在命令行cmd窗口里,输入javac-version,要是能出java版本号就说明ok
三、在Eclipse里设置WeblogicServer
找到Servers面板,点击"NewServerwizard"
选择对应的weblogic版本
指定weblogic的domain目录
如果你已经创建了dynamicwebproject,还可以把指定的项目应用到该weblogic服务器
(当然也可以直接点击Finish)完成,弄完后,就能看到当前服务器的状态(如果没有启用,就会显示Stopped)
可以右键->Start,就可以直接在Eclipse下启用WebLogic了
四、svn插件的安装
启用Eclipse,在Help菜单下,找到InstallNewSoftware...,在workwith里输入
把SubclipsePlugin、SubversionBook这二个都勾上,然后一路Next就OK了,安装过程中,可能会弹一个警告框,不用理会,全部选择继续安装
五、测试svn
5.1 先创建一个DynamicWebProject
注意:
Tragetruntime以及Configuration二项都要选择对应的Weblogic(后面还会利用这个项目,测试部署weblogic)
5.2、签入代码(checkin)
在ProjectExplorer中,选中刚创建的myWeb,然后右键->Team->ShareProjet 就能签入代码了(当然要填写一些基本信息,比如svn资源库路径,用户名、密码等)
5.3、签出代码(checkout)
创建项目时,也可以选择直接从svn服务器上checkout,方法:
New->Other
六、测试WebLogic
6.1、项目运行时的自动部署
在刚创建的myWeb里创建二个jsp文件:
home.jsp和about.jsp
启动后,eclipse会自动startweblogicserver,同时会自动部署myWeb应用
6.2、网站的默认页设置
刚才的示例,我们必须在地址栏明确指定要访问的页面, 才以正确访问,如果把home.jsp去掉,直接用来访问,就会出错:
在iis中,可以通过设置站点的默认文档来实现这个需求。
在weblogic中,就得通过其它方式来处理,修改web.xml文件:
把web.xml中,webcome-file-list中的第一个welcome-file节点值设置成home.jsp,这样就行了。
6.3、纯手动部署应用(war包)
开发时,我们可以借助eclipse自动实现weblogic部署,但是真正上线时,通常都是通过war包来手动部署的。
6.3.1、 通过eclipse导出war包
在项目myWeb上右击->export->warfile,这样就得到了一个war文件:
myWeb.war ,它本质上就是一个标准的压缩文件,可以用winrar,7-zip之类的压缩软件打开。
6.3.2、登录weblogic手动部署war包
登录 控制台(具体路径大家根据weblogic的安装情况,自行调整)
找到"部署"界面,如果是新安装的weblogic,部署列表里应该是空的(另外如果刚才在eclipse环境中,运行过项目myWeb,部署列表中可能会有一个自动部署的myWeb,建议大家先在eclipse环境中的server面板中,把自动部署的myWeb给delete掉,否则后面再手动部署一个同名应用时会失败)
找到刚才导出的myWeb.war包,然后猛击“下一步”,一路向西,直至完成
部署完成后,应用会自动运行
此时,在浏览器里输入应该就能看到home.jsp的内容了
6.3.2、域名绑定
每次通过来访问实在太烦人,如果能象访问其它网站那样,直接用类似 来访问就fashion多了。
iis里,通过设置网站的主机头,可以轻松搞定,weblogic里也有类似的功能,那就是"虚拟主机"
6.3.2.1、 创建一个虚拟主机
找到虚拟主机面板
创建一个新虚拟主机,命名为"VirturlHost-myWeb"
创建完成后,双击"VirtualHos-myWeb"
修改"网络接入点名称",输入要绑定的域名:
6.3.2.2、 将myWeb应用挂到虚拟主机上
在部署面板,双击myWeb修改目标属性,将虚拟主机Virtualhost-myWeb前的勾选中
6.3.2.3、 修改7001端口为80
在服务器面板,双击"AdminServer"把监听端口从7001,改成80
6.3.2.4、 修改根路径myWeb为/
以部署面板,双击myWeb,修改上下文根,从"myWeb"改成"/"
弄完之后,应该就能直接用来访问myWeb了
刚才我们输入的域名是随便想的,实际上并不存在,为了验证刚才这一系列修改是否有效,可以先修改本机hosts文件,加入一行
127.0.0.1
这样就能本机模拟域名解析(注:
可在命令行窗口输入ping 来验证,正常情况下,应该能ping通过,而且返回的ip就是127.0.0.1),直接在地址栏输入 应该就大功告成了(如果浏览器设置了代理,建议先去掉代理,或添加例外)
6.3.3、创建weblogicwebservice
创建一个WebLogicWebServiceProject命名为myWebService
6.3.3.1、创建用于传输的实体类PersonEntity
+ViewCode
6.3.3.2、创建webservice“接口契约”及“实现”
接口定义
package contract;
import javax.jws.WebMethod;
import javax.jws.WebService;
import model.*;
@WebService(name= "Person",targetNamespace= "")
public interface Person{
@WebMethod(operationName= "getPersonByName")
public PersonEntitygetPersonByName(Stringname);
}
接口实现
package contract;
import javax.jws.*;
import model.*;
@WebService(portName= "PersonPort",serviceName= "PersonService",targetNamespace= "",endpointInterface= "contract.Person")
public class PersonImpl implements Person{
public PersonEntitygetPersonByName(Stringname){
PersonEntityp= new PersonEntity();
p.setName(name);
if (name.equals("jmyang")){
p.setAge(30);
p.setSalary(1000);
}
else if(name.equals("zhangsan")){
p.setAge(20);
p.setSalary(1500);
}
else{
p.setAge(25);
p.setSalary(1200);
}
return p;
}
}
6.3.3.3、部署及WSDL测试
6.3.3、eclipse环境中调用weblogicwebservice
6.3.3.1、创建客户端调jar包
File->New创建一个WeblogicWebServiceClient
WSDL选择Remote,并输入WSDL的远程地址
指定生成客户端jar的路径(其实用默认的就行了)
指定“运行时从远程获取wsdl”
完成后,eclipse就会生成一个jar包
6.3.3.2、利用客户端jar包,调用webservice
随便创建一个javaproject,命名为wsCallDemo,在project属性时,把刚才生成的jar包添加进来
在eclipse里,双击PersonService.jar包,可以看到里面有很多自动生成的类
写几行代码测试一下:
package test;
import com.jmyang.*;
public class CallWsSample{
/**
*@paramargs
*/
public static void main(String[]args){
PersonServiceservice= new PersonService();
PersonserviceInterface=service.getPort(Person.class);//取得服务接口
PersonEntityjimmy=serviceInterface.getPersonByName("jmyang");//调用服务
System.out.println(jimmy.getName()+ "/" +jimmy.getAge()+ "/" +jimmy.getSalary());//输出结果
PersonEntityzhangsan=serviceInterface.getPersonByName("zhangsan");//调用服务
System.out.println(zhangsan.getName()+ "/" +zhangsan.getAge()+ "/" +zhangsan.getSalary());//输出结果、
}
}
注:
以上方法,对于调用.netwcf服务同样适用。
需要特别注意的是:
对于String类型的比较,在javawebservice中,一定要用equals来判断二个字符串(内容)是否相等,如果用==号,永远返回false,但是在常规javaproject中,==号与equals结果却相同(初次接触javawebservice,暂时尚未完全参透,看了一些相关的文章,==号是判断二个字符串是否引用相同,而equals是判断二个字符串是否内容相同,在常规javaproject中测试时,String未被序列化传输,jvm内部二个字符串的引用、内容都是相同的,但在webservice中使用时,字符串会被序列化传输,反序列化时,相当于创建了一个全新的字符串实例对象,导致引用不同)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课题java学习eclipse Weblogic 12c svn 集成开发环境搭建 课题 java 学习 eclipse 12 集成 开发 环境 搭建