博客分类: 服务器
WeblogicTomcatJavaJSPStruts.关键字:Tomcat Weblogic
OS:Windows XP
WebApp Server:Tomat5.5 WebLogic server 10 (中文版)
IDE:Bea workshop for weblogic platform。
一.IDE注意事项
创建动态web项目,选择是否共享j2ee库,如果共享,则需要域的共享库里面包含项目所需的库,比如beeHive netUi;
不共享,则将所需的库拷贝到WEB-INF/lib目录,并自动创建相关配置文件于WEB-INF下
如果访问页面时出现如下错误:
index.jsp:2:4: 使用该 URI 无法找到标记库。可能是因为 URI 不正确或解析 .tld 文件时出错。
<%@taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
请删除多余的配置文件,或者重新建立一个工程,在向导第二页选择好正确的配置。
二.WebLogic基础知识
一个域可以包括多个服务器,应用程序依赖于某个服务器,通过部署-〉某应用程序-〉目标 来配置
wl_server是weblogic默认域,通过开始菜单-〉Bea products->tools->Weblogic Server来启动
要创建自己的域,则可以通过开始菜单-〉Bea products->tools->Configuration wizard来创建
登录地址:http://localhost:7001/console/login/LoginForm.jsp
登录用户密码:weblogic/weblogic
1.部署war之后,测试时发生错误:
Error 503--Service Unavailable
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
.....
解决办法:一般是在刚刚激活更改后,就进行测试,还需要将该应用程序启动,状态为“活动”之后再测试就可以了。
2.连接池测试时出错:
Warning! Connectivity to backend database not verified. This is either because required connection pool attribute "TestConnectionsOnReserve" has not been enabled, or an invalid value has been specified for attribute "TestTableName". Please check the server log for more details..
配置连接缓冲池,在“高级”中选中“保留时测试连接”即可。此时需要先激活更改再进行测试。否则还会报错。
3.jdbc jndi错误:
javax.naming.NameNotFoundException: Unable to resolve 'jdbc_fbysss. Resolved ''; remaining name 'jdbc_fbysss'
首先要在控制台中点击左边的控制栏中的服务->JDBC新建一个数据源,数据源名称无所谓,jndi name一定要注意,比如取名叫jdbc_fbysss,而且,jdbc源必须依赖于一个server。否则无法启动。
对于Spring项目,修改applicationContext.xml的dataSource,(Tomcat的连接池在这里就不需要了)。
<!-- 数据源缓冲池 --> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc_fbysss"/><!--两者要一样-->
<property name="resourceRef">
<value>false</value>
</property>
</bean>
4.xml校验错误
(1)hbm.xml
org.dom4j.DocumentException: unknown protocol: platform Nested exception: unknown protocol: platform
这个经检查是workshop导出时 ,hbm.xml文件生成错误。修改过来就好了
(2)struts-config.xml
正式部署时出现异常:
ERROR Digester []: Parse Error at line 2 column
15: Document root element "struts-config", must match DOCTYPE root "null".
org.xml.sax.SAXParseException: Document root element "struts-config", must match
DOCTYPE root "null".
需要在struts-config.xml中第二行加入<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
5.ServletApi实现不一致情况
发现一个奇怪的现象,tomcat中,一个servlet的子类,如果没有声明init方法,会自动执行父类的init方法,而weblogic不会。
解决办法是显式声明init,super.init();
6.莫名其妙空指针错误
完整错误信息:
java.io.FileNotFoundException: F:\bea\wlserver_10.0\samples\domains\workshop\servers\cgServer\tmp\_WL_user\prj_fbysss\mlh5uz\war (拒绝访问。)
at java.io.FileInputStream.open(Ljava.lang.String;)V(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at workshop.util.filesystem.file.WlFileSystem.getInputStream(WlFileSyste
m.java:148)
at workshop.util.filesystem.FS.getInputStream(FS.java:262)
at javelin.jsp.JspParser.readStaticInclude(JspParser.java:3261)
at javelin.jsp.JspParser.parseStaticInclude(JspParser.java:3198)
at javelin.jsp.JspParser.processImplicitIncludes(JspParser.java:3289)
at javelin.jsp.JspParser.jspParse(JspParser.java:703)
at javelin.jsp.JspParser._parse(JspParser.java:504)
at javelin.jsp.JspParser.parse(JspParser.java:497)
at javelin.jsp.JspAnalyzer.parseFile(JspAnalyzer.java:113)
at javelin.jsp.JspAnalyzer.parse(JspAnalyzer.java:101)
at javelin.ProxySourceFile.parse(ProxySourceFile.java:117)
at javelin.SourceFile.getAst(SourceFile.java:542)
at javelin.SourceFile.getAst(SourceFile.java:516)
at javelin.ProxySourceFile.codeGen(ProxySourceFile.java:215)
at javelin.SourceFile.codeGen(SourceFile.java:310)
at javelin.client.ClientUtilsImpl$CodeGenJob.run(ClientUtilsImpl.java:11
05)
at javelin.client.Job.performJob(Job.java:81)
at javelin.client.ThreadPool$WorkerThread.run(ThreadPool.java:215)
<2008-8-23 下午07时15分11秒 CST> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.
internal.WebAppServletContext@36b25e - appName: prj_fbysss, name: 'prj_fbysss', context-path: '/prj_fbysss] Root cause of ServletException.
java.lang.NullPointerException
at javelin.jsp.JspAnalyzer.parse(JspAnalyzer.java:104)
at javelin.ProxySourceFile.parse(ProxySourceFile.java:117)
at javelin.SourceFile.getAst(SourceFile.java:542)
at javelin.SourceFile.getAst(SourceFile.java:516)
at javelin.ProxySourceFile.codeGen(ProxySourceFile.java:215)
Truncated. see log file for complete stacktrace
>
最后发现是web.xml中<include-coda/>一句不对,去掉就好了,很怪异。
<taglib>
<taglib-uri>http://www.sss.com/select</taglib-uri>
<taglib-location>/WEB-INF/tlds/select.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://www.sss.com/tree</taglib-uri>
<taglib-location>/WEB-INF/tlds/tree.tld</taglib-location>
</taglib>
<!--web 项目配置-->
<jsp-property-group>
<description>
WEB项目配置
</description>
<display-name>JSPConfiguration</display-name>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
<page-encoding>gbk</page-encoding>
<scripting-invalid>false</scripting-invalid>
<!--这句居然引起webloic错误!!!! include-coda/-->
</jsp-property-group>
</jsp-config>
7.类冲突问题
(1)JSTL解析失败
index.jsp:1:1: validator 类 "org.apache.taglibs.standard.tlv.JstlCoreTLV" 失败,出现如下异常: "java.lang.ClassCastException: weblogic.xml.jaxp.RegistrySAXParserFactory"。
<%@page contentType="text/html;charset=gbk" language="java"%>
项目属性-〉项目构面中的设置将记录在.setting/org.eclipse.wst.common.project.facet.core.xml文件中。
最后是把prefer-web-inf-classes设置为false就可以了。
(2)HQL语句执行失败
org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
这种情况是包版本冲突,必须设置prefer-web-inf-classes设置为true。
这样一来,有的包需要true,有的需要false,怎么办?Weblogic的确够恶心的。JSTL的包都已经放webapp下了,设置prefer-web-inf-classes设置为ture还不行,只好采取以下稍显麻烦的方法:
在workshop开发环境下,启动的服务器目录是
F:\bea\wlserver_10.0\samples\domains\workshop\bin
修改启动脚本startWebLogic.cmd
找到set CLASSPATH=%SAVE_CLASSPATH%,在后面加入
@REM sss added
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.6rc1.jar;
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%
其中,antlr-2.7.6rc1.jar包需要拷贝到F:\bea\wlserver_10.0\server\lib下。
正式发布的时候,需要修改对应域目录下的启动脚本
比如f:\bea\user_projects\domains\fbysssDomain\bin\startWebLogic.cmd
8.部署问题
部署时出现如下错误:
<2008-8-23 下午07时37分42秒 CST> <Warning> <Deployer> <BEA-149124> <
Failures were detected while initiating redeploy task for application 'prj_fbysss'. Error is: '
[Deployer:149163]The domain edit lock is owned by another session in non-exclusi
ve mode - this deployment operation requires exclusive access to the edit lock a
nd hence cannot proceed.'>
解决:进入http://localhost:7001/console ,释放配置,再次部署即可。
注: 更新war:必须在删除该应用,并激活更改之后才能覆盖。
但是用war方式,获取资源路径的方法和tomcat不同,存在臭名昭著的getRealPath等问题,移植困难,所以用目录方式部署比较好。
具体方法:先把war解压,然后在weblogic控制台里面选择目录部署。
分享到:
相关推荐
### WebLogic下载资源详解 #### 引言 在IT领域,WebLogic服务器是Oracle公司旗下的一个中间件产品,主要用于构建企业级应用系统。它提供了一套全面的企业级应用开发、部署和管理解决方案,包括高性能的Java应用...
### Tomcat 项目迁移至 WebLogic 12c 时常见问题及解决方案 #### 一、概述 在软件开发过程中,经常会遇到根据客户的需求将基于一个应用服务器的应用迁移到另一个应用服务器上的情况。例如,本案例中就是从 Tomcat ...
### Tomcat工程迁移至WebLogic的关键步骤与注意事项 在企业级应用开发中,根据业务需求和技术选型的变化,有时需要将部署在Tomcat上的应用程序迁移到WebLogic服务器上。这一过程涉及多方面的调整与优化,确保应用能...
沃通电子认证服务有限公司(WoSign)是提供SSL证书的服务商之一,提供不同格式的证书文件(.zip压缩格式),其中包括forTomcat的JKS(Java KeyStore)格式的证书文件,适用于WebLogic应用服务器。 2. 下载WebLogic...
EtCell报表组件v3.4面世了! 更新时间 2003.2.27 制表工具WinTable下载地址...13、支持的WEB服务器:NT的WEB服务器、Linux、Unix、WebLogic、TOMCAT、IIS; 14、在MIS开发中直接支持数据库,让程序开发更方便快捷
该jar包解决报错java.lang.NoClassDefFoundError: org/apache/james/mime4j/MimeException,亲测可用。
这个培训资料主要涵盖了Servlet的基础知识,这对于理解WebLogic如何处理HTTP请求至关重要。 Servlet 是Java EE的一部分,它是一个Java类,用于扩展Web服务器的功能。Servlets可以接收和响应来自Web客户端的请求,如...
对于初学者或是希望深入研究Java技术的专业人士而言,掌握合适的在线学习资源至关重要。本文将根据提供的链接及信息,整理出一系列与Java相关的学习网站,帮助读者系统地学习Java编程。 #### Java官方资源 1. **...
3. 将名称分别为“fjcontainer94.jar”,” ojdbc14.jar”,” weblogic.jar”的三个 jar 包(原来项目需要导入的三个 jar 包)分别放在”..\ apache-tomcat-5.5.35\common\lib”目录下面,和“..\apache-tomcat-...
- **Struts学习笔记** - **网址**:http://download.chinaitlab.com/soft/6156.htm - **内容概述**:这份资源包含了作者在学习Struts过程中的心得体会及常见问题解决方案,对于初学者非常有参考价值。 ### 四、...
EtCell报表组件v3.5.0.1面世了! 更新时间 2003.4.8 制表工具WinTable下载...13、支持的WEB服务器:NT的WEB服务器、Linux、Unix、WebLogic、TOMCAT、IIS; 14、在MIS开发中直接支持数据库,让程序开发更方便快捷
./startWebLogic.sh ``` 在浏览器中访问 `http://your_server_ip:7001/console`,使用在创建域时设置的管理员用户名和密码登录WebLogic控制台,可以进行应用程序部署、服务器监控和管理。 智能客服安装实施工艺和...
- **内容介绍**:介绍如何使用WebLogic服务器进行Java应用程序的管理和部署,适用于企业级项目。 2. **JavaBean组件开发** - **网址**:http://www.sawin.com.cn/dragon/manual/manualindex.htm - **内容介绍...
【WebLogic Web 应用开发】是针对使用Oracle WebLogic Server进行Web应用程序开发的主题。WebLogic Server是一款由甲骨文公司提供的企业级应用服务器,它提供了用于构建、部署和管理分布式Java EE(Java Platform, ...
NULL 博文链接:https://eyejava.iteye.com/blog/448167
5. **WebLogic认证** (http://www.cnkapok.com/course/c_bea3.html) 和 (http://www.bea.com.cn/channel/education/index.html) - 对于想深入了解企业级应用服务器的开发者,WebLogic的认证学习资料非常有用。...
- SourceForge是开源项目的天堂,这里有许多Java开源项目,可以帮助开发者学习和实践。 #### 二、核心工具与安装指南 - **JDK (Java Development Kit)** JDK是Java开发的基础,包含了Java运行时环境、编译工具...
2. **启动安装程序**:运行 `./server910_linux32.bin` 启动WebLogic安装向导。 3. **许可证接受**:按照提示接受许可证协议。 4. **设置BEA Home路径**:根据提示输入或确认默认的BEA Home路径,例如 `/server/bea`...