热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java学习:eclipse+Weblogic集成开发环境搭建

网上有很多文章都说eclipse要安装额外的插件才能支持weblogic,可能以前需要这样,但自从bea的weblogic被oracle收购后ÿ

网上有很多文章都说eclipse要安装额外的插件才能支持weblogic,可能以前需要这样,但自从bea的weblogic被oracle收购后,现在已经很简单了

一、先下载 Free Oracle WebLogic Server 12c (12.1.1) Zip Distribution and Installers for Developers

http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html

这个安装以后,就已经自带了Eclipse(而且已经集成了weblogic插件),安装完成后,可以通过 “开始菜单->所有程序->Oracle Enterprise Pack for Eclipse->Oracle Enterprise Pack for Eclipse” 启动

二、64位机器上,Eclipse启用失败的问题

出错时,提示信息如下:

Java was started but returned exit code=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里设置Weblogic Server

找到Servers面板,点击"New Server wizard"

选择 对应的weblogic版本(如果没有,点击右上角的download)


指定weblogic的domain目录

如果你已经创建了dynamic web project,还可以把指定的项目应用到该weblogic服务器

(当然也可以直接点击Finish)完成,弄完后,就能看到当前服务器的状态(如果没有启用,就会显示Stopped)

可以右键->Start,就可以直接在Eclipse下启用WebLogic了 

四、svn插件的安装
启用Eclipse,在Help菜单下,找到 Install New Software...,在work with 里输入  http://subclipse.tigris.org/update

把Subclipse Plugin、Subversion Book 这二个都勾上,然后一路Next就OK了,安装过程中,可能会弹一个警告框,不用理会,全部选择继续安装

五、测试svn

5.1 先创建一个Dynamic Web Project

注意:Traget runtime以及Configuration 二项都要选择对应的Weblogic(后面还会利用这个项目,测试部署weblogic)

5.2、签入代码(check in)

在Project Explorer 中,选中刚创建的myWeb,然后右键->Team->Share Projet 就能签入代码了(当然要填写一些基本信息,比如svn资源库路径,用户名、密码等)

5.3、签出代码(check out)

创建项目时,也可以选择直接从svn服务器上check out,方法:New->Other

六、测试 WebLogic

6.1、项目运行时的自动部署

在刚创建的myWeb里创建二个jsp文件:home.jsp和about.jsp

启动后,eclipse会自动start weblogic server,同时会自动部署myWeb应用

6.2、网站的默认页设置

刚才的示例,我们必须在地址栏明确指定要访问的页面,即http://localhost:7001/myWeb/home.jsp 才以正确访问,如果把home.jsp去掉,直接用http://localhost:7001/myWeb来访问,就会出错:

在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->war file,这样就得到了一个war文件:myWeb.war ,它本质上就是一个标准的压缩文件,可以用winrar,7-zip之类的压缩软件打开。

6.3.2、登录weblogic手动部署war包

登录http://localhost:7001/console 控制台(具体路径大家根据weblogic的安装情况,自行调整)

找到"部署"界面,如果是新安装的weblogic,部署列表里应该是空的(另外如果刚才在eclipse环境中,运行过项目myWeb,部署列表中可能会有一个自动部署的myWeb,建议大家先在eclipse环境中的server面板中,把自动部署的myWeb给delete掉,否则后面再手动部署一个同名应用时会失败)

找到刚才导出的myWeb.war包,然后猛击“下一步”,一路向西,直至完成

部署完成后,应用会自动运行

此时,在浏览器里输入 http://localhost:7001/myWeb应该就能看到home.jsp的内容了

6.3.2、域名绑定

每次通过http://localhost:7001/myWeb来访问实在太烦人,如果能象访问其它网站那样,直接用类似http://yjmyzz.com/ 来访问就fashion多了。iis里,通过设置网站的主机头,可以轻松搞定,weblogic里也有类似的功能,那就是"虚拟主机"

6.3.2.1、 创建一个虚拟主机

找到虚拟主机面板

创建一个新虚拟主机,命名为"VirturlHost-myWeb"

创建完成后,双击"VirtualHos-myWeb"

修改"网络接入点名称",输入要绑定的域名: www.yjmyzz.com

6.3.2.2、 将myWeb应用挂到虚拟主机上

在部署面板,双击myWeb修改目标属性,将虚拟主机Virtualhost-myWeb前的勾选中

6.3.2.3、 修改7001端口为80

在服务器面板,双击"AdminServer"把监听端口从7001,改成80

6.3.2.4、 修改根路径myWeb为/ 

以部署面板,双击myWeb,修改上下文根,从"myWeb"改成"/"

弄完之后,应该就能直接用http://localhost/ 来访问myWeb了

刚才我们输入的域名www.yjmyzz.com是随便想的,实际上并不存在,为了验证刚才这一系列修改是否有效,可以先修改本机hosts文件,加入一行

127.0.0.1 www.yjmyzz.com

这样就能本机模拟域名解析(注:可在命令行窗口输入ping www.yjmyzz.com来验证,正常情况下,应该能ping通过,而且返回的ip就是127.0.0.1),直接在地址栏输入http://www.yjmyzz.com/ 应该就大功告成了(如果浏览器设置了代理,建议先去掉代理,或添加例外)

6.3.3、创建weblogic web service

创建一个WebLogic Web Service Project 命名为myWebService

6.3.3.1、创建用于传输的实体类PersonEntity

package model;import java.util.Date;public class PersonEntity {private String name;private int age;private Date birthday;private float salary;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public float getSalary() {return salary;}public void setSalary(float salary) {this.salary = salary;}}

6.3.3.2、创建web service“接口契约”及“实现”

接口定义

package contract;import javax.jws.WebMethod;
import javax.jws.WebService;import model.PersonEntity;@WebService(name = "Person", targetNamespace = "http://contract/")
public interface Person {/** WSDL测试* http://localhost:7001/WebTest/PersonService?WSDL*/@WebMethod(operationName = "getPersonByName")public PersonEntity getPersonByName(String name);
}


接口实现

package contract;import javax.jws.*;import model.PersonEntity;@WebService(portName = "PersonPort", serviceName = "PersonService", targetNamespace = "http://contract/", endpointInterface = "contract.Person")
public class PersonImpl implements Person {@Overridepublic PersonEntity getPersonByName(String name) {PersonEntity person = new PersonEntity();person.setName(name);if("zhangsan".equals(name)){person.setAge(22);person.setSalary(5500);}else{person.setAge(25);person.setSalary(7500);}return person;}}

6.3.3.3、部署 及 WSDL测试

6.3.3、eclipse 环境中调用weblogic web service

6.3.3.1、创建客户端调jar包

File->New 创建一个Weblogic Web Service Client

WSDL选择Remote,并输入WSDL的远程地址

指定生成客户端jar的路径(其实用默认的就行了)

指定“运行时从远程获取wsdl”

完成后,eclipse就会生成一个jar包

6.3.3.2、利用客户端jar包,调用web service

随便创建一个java project,命名为wsCallDemo,在project属性时,把刚才生成的jar包添加进来

在eclipse里,双击PersonService.jar包,可以看到里面有很多自动生成的类

写几行代码测试一下:

package testWLC;import contract.Person;
import contract.PersonEntity;
import contract.PersonService;public class CallWsSample {public static void main(String[] args) {PersonService service = new PersonService();Person serviceInterface = service.getPort(Person.class);//取得服务接口PersonEntity jimmy= serviceInterface.getPersonByName("jmyang");//调用服务System.out.println(jimmy.getName() + "/" + jimmy.getAge() + "/" + jimmy.getSalary());//输出结果PersonEntity zhangsan= serviceInterface.getPersonByName("zhangsan");//调用服务System.out.println(zhangsan.getName() + "/" + zhangsan.getAge() + "/" + zhangsan.getSalary());//输出结果、}
}




推荐阅读
  • 在Eclipse中提升开发效率,推荐使用Google V8插件以增强Node.js的调试体验。安装方法有两种:一是通过Eclipse Marketplace搜索并安装;二是通过“Help”菜单中的“Install New Software”,在名称栏输入“googleV8”。此插件能够显著改善调试过程中的性能和响应速度,提高开发者的生产力。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • Nginx 反向代理配置与应用指南
    本文详细介绍了 Nginx 反向代理的配置与应用方法。首先,用户可以从官方下载页面(http://nginx.org/en/download.html)获取最新稳定版 Nginx,推荐使用 1.14.2 版本。下载并解压后,通过双击 `nginx.exe` 文件启动 Nginx 服务。文章进一步探讨了反向代理的基本原理及其在实际应用场景中的配置技巧,包括负载均衡、缓存管理和安全设置等,为用户提供了一套全面的实践指南。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • Java测试服务器调试指南详细介绍了如何进行远程调试,并深入解析了Java Xdebug参数的使用方法。本文首先概述了Java内置的调试功能,重点介绍了JDB这一类似于GDB的强大调试工具。通过实例演示,读者可以掌握在测试环境中高效调试Java应用程序的技巧,包括配置远程调试环境和优化调试参数,以提高开发效率和代码质量。 ... [详细]
  • 使用 `git stash` 可以将当前未提交的修改保存到一个临时存储区,以便在后续恢复工作目录时使用。例如,在处理中间状态时,可以通过 `git stash` 命令将当前的所有未提交更改推送到一个新的储藏中,从而保持工作目录的整洁。此外,本文还将详细介绍如何解决 `git stash pop` 时可能出现的冲突问题,帮助用户高效地管理代码变更。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 本文深入解析了通过JDBC实现ActiveMQ消息持久化的机制。JDBC能够将消息可靠地存储在多种关系型数据库中,如MySQL、SQL Server、Oracle和DB2等。采用JDBC持久化方式时,数据库会自动生成三个关键表:`activemq_msgs`、`activemq_lock`和`activemq_ACKS`,分别用于存储消息数据、锁定信息和确认状态。这种机制不仅提高了消息的可靠性,还增强了系统的可扩展性和容错能力。 ... [详细]
  • 本文探讨了如何通过编程手段在Linux系统中禁用硬件预取功能。基于Intel® Core™微架构的应用性能优化需求,文章详细介绍了相关配置方法和代码实现,旨在帮助开发人员有效控制硬件预取行为,提升应用程序的运行效率。 ... [详细]
  • 在最近的项目中,我们广泛使用了Qt框架的网络库,过程中遇到了一些挑战和问题。本文旨在记录这些经验和解决方案,以便日后参考。鉴于我们的客户端GUI完全基于Qt开发,我们期望利用其强大的网络功能进行Fiddler网络数据包的捕获与分析,以提升开发效率和应用性能。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 在配置Nginx的SSL证书后,虽然HTTPS访问能够正常工作,但HTTP请求却会遇到400错误。本文详细解析了这一问题,并提供了Nginx配置的具体示例。此外,还深入探讨了DNS服务器证书、SSL证书的申请与安装流程,以及域名注册、查询方法和CDN加速技术的应用,帮助读者全面了解相关技术细节。 ... [详细]
  • 本文全面解析了JavaScript中的DOM操作,并提供了详细的实践指南。DOM节点(Node)通常代表一个标签、文本或HTML属性,每个节点都具有一个nodeType属性,用于标识其类型。文章深入探讨了DOM节点的创建、查询、修改和删除等操作,结合实际案例,帮助读者更好地理解和掌握DOM编程技术。 ... [详细]
author-avatar
奔跑的蜗牛彡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有