news 2026/6/18 6:23:22

WebLogic安装后别急着关!5分钟完成域配置与第一个“Hello World”应用部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WebLogic安装后别急着关!5分钟完成域配置与第一个“Hello World”应用部署

WebLogic安装后别急着关!5分钟完成域配置与第一个“Hello World”应用部署

当你看到WebLogic安装完成的提示窗口时,千万别急着点"完成"按钮——这就像刚拿到驾照就熄火下车,错过了真正上路的机会。作为Java EE生态中最重量级的应用服务器之一,WebLogic的强大功能都隐藏在初始配置和第一个应用部署的过程中。本文将带你用最短时间完成从安装成功到应用上线的完整闭环,让你获得"Hello World"级别的即时成就感。

1. 启动管理服务器与验证安装

安装完成后的配置向导虽然简单,但往往掩盖了关键细节。我们先手动启动管理服务器,这是验证安装是否真正成功的黄金标准。

打开命令提示符,导航到WebLogic的安装目录(例如C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain),执行以下命令:

startWebLogic.cmd

观察控制台输出,成功的启动会显示类似这样的关键信息:

<Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING> <Notice> <WebLogicServer> <BEA-000331> <Started WebLogic Admin Server>

注意:首次启动时可能会提示输入配置向导中设置的管理员账号密码。如果忘记密码,需要删除domain目录重新配置。

启动完成后,打开浏览器访问http://localhost:7001/console,你应该能看到WebLogic控制台的登录页面。这个页面本身就是安装成功的直接证据——它意味着内置的Web容器已正常运作。

2. 创建开发域的最佳实践

虽然安装时已经创建了基础域(base_domain),但实际开发中我们需要更专业的配置。以下是开发域的推荐参数:

配置项生产环境值开发环境推荐值
域名prod_domaindev_domain
JVM内存4GB以上1GB
管理员端口70019001
开发模式禁用启用
自动部署禁用启用

在控制台左侧导航栏选择环境 > 域,点击"新建"按钮。关键步骤包括:

  1. 设置域名称为dev_domain
  2. 修改默认端口为9001(避免与base_domain冲突)
  3. 勾选"启用开发模式"选项
  4. 设置JVM参数:-Xms512m -Xmx1024m
# 新建域的目录结构示例 user_projects/ └── domains/ ├── base_domain/ # 安装时自动创建 └── dev_domain/ # 新建的开发域 ├── autodeploy/ # 自动部署目录 └── config/ # 配置文件目录

3. 构建Hello World应用的三种方式

现在来到最激动人心的环节——部署第一个应用。我们准备了一个最简单的Servlet应用,它会响应"Hello World"。

3.1 快速部署预制WAR包

对于只想快速验证的新手,可以直接下载我们准备的演示包:

wget https://example.com/weblogic-demo/hello.war

然后在控制台进行部署:

  1. 左侧导航选择部署
  2. 点击"安装"按钮
  3. 选择hello.war文件
  4. 选择"作为应用程序安装"
  5. 保持所有默认设置,完成部署

访问http://localhost:9001/hello/HelloServlet即可看到结果。

3.2 手动创建WAR包(适合学习)

如果想了解WAR包内部结构,可以手动创建:

  1. 标准目录结构:

    hello/ ├── WEB-INF/ │ ├── web.xml │ └── classes/ │ └── HelloServlet.class └── index.jsp
  2. 关键文件内容:

    <!-- web.xml --> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping>
  3. 打包命令:

    jar -cvf hello.war *

3.3 自动部署的妙用

开发模式下最便捷的方式是利用autodeploy目录:

  1. 将WAR包直接复制到dev_domain/autodeploy/
  2. WebLogic会自动检测并部署
  3. 修改代码后重新打包覆盖即可热更新

提示:自动部署虽然方便,但正式环境务必禁用此功能,改为通过控制台或WLST脚本管理。

4. 调试与问题排查指南

当"Hello World"没有如期出现时,可以按以下步骤排查:

  1. 检查服务器状态

    netstat -ano | findstr "9001" # Windows ss -tulnp | grep 9001 # Linux
  2. 查看日志

    • 控制台日志:dev_domain/servers/AdminServer/logs/AdminServer.log
    • 部署日志:dev_domain/servers/AdminServer/logs/hello.log
  3. 常见错误代码

    错误代码含义解决方案
    404应用未部署成功检查WAR包完整性
    500Servlet内部错误查看应用日志
    503服务不可用检查服务器内存是否充足
  4. 验证Servlet映射: 在控制台导航到部署 > hello > 配置 > 描述符,确认url-pattern设置正确。

5. 从Hello World到真实项目

完成基础验证后,可以开始探索WebLogic的更多功能:

  • 数据源配置:连接池管理
  • JMS队列:消息中间件集成
  • 集群部署:多实例负载均衡
  • 性能调优:JVM参数优化

一个专业的部署流程应该包含:

  1. 使用WLST(WebLogic Scripting Tool)自动化脚本
  2. 配置JDBC连接池
  3. 设置JNDI资源
  4. 部署企业级应用(EAR)
# 示例WLST部署脚本 connect('weblogic', 'welcome1', 'localhost:9001') deploy('hello', '/path/to/hello.war', targets='AdminServer') startApplication('hello') disconnect() exit()

记住,每个Java EE专家都是从Hello World开始的。我在第一次成功部署时,特意截图保存了那个简陋的页面——它现在看起来可能微不足道,但正是这些基础操作构建了整个职业生涯的基石。当你看到浏览器上显示的"Hello World"时,不妨给自己一个小奖励,因为你已经跨过了WebLogic入门最关键的门槛。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 4:25:58

汤头APP——用AI复刻“望闻问切”,让每个人都能精准辨体质

如果说养生乱象的核心是“不辨体质”&#xff0c;那么知医邦给出的解决方案&#xff0c;就是汤头APP。这款专为中医非药物疗法打造的智能应用&#xff0c;以“ChatiSS查体・智能辅助诊疗系统”为技术核心&#xff0c;让普通人仅凭一部手机&#xff0c;就能完成专业的中医体质辨…

作者头像 李华
网站建设 2026/6/9 4:20:57

告别CentOS习惯:在统信UOS 20上用apt搞定MySQL 5.7的全栈配置

告别CentOS习惯&#xff1a;在统信UOS 20上用apt搞定MySQL 5.7的全栈配置对于长期在CentOS/RedHat环境下工作的开发者而言&#xff0c;首次接触统信UOS这类基于Debian的国产操作系统时&#xff0c;最直观的冲击莫过于包管理工具的差异。当熟悉的yum install变成陌生的apt insta…

作者头像 李华
网站建设 2026/6/10 10:34:25

别再硬转unsigned short了!FP16与Float互转的C语言实现详解与避坑

FP16与Float互转的C语言实现&#xff1a;从原理到避坑指南在深度学习推理和嵌入式开发中&#xff0c;FP16&#xff08;半精度浮点数&#xff09;因其内存占用小、计算速度快的特点越来越受欢迎。但C语言标准库中并没有直接支持FP16的类型&#xff0c;很多开发者会直接使用unsig…

作者头像 李华
网站建设 2026/6/10 9:21:36

asnumpy数据转换:从昇腾NPU到NumPy的零拷贝之道

前言 CANN&#xff08;Compute Architecture for Neural Networks&#xff09;驱动下的昇腾NPU计算与Python生态的数据交互是一个不可回避的问题。深度学习模型的训练结果需要导出到Python环境进行后处理&#xff0c;Python环境的数据需要送入昇腾NPU进行计算&#xff0c;这个数…

作者头像 李华
网站建设 2026/6/9 4:11:05

第3篇:《面试题:I2C为什么要加上拉电阻?阻值怎么选?》

大家好&#xff0c;我是老张。 上一篇聊了LDO和DC-DC的面试题&#xff0c;评论区有兄弟说被问过“I2C的上拉电阻为什么是4.7kΩ”&#xff0c;他答了“开漏输出需要上拉”&#xff0c;面试官又问“那换成1kΩ会怎样”&#xff0c;他就卡住了。 这道题太经典了。I2C是最常用的…

作者头像 李华