解决weblogic 相关问题查找的资料

2015/09/14 1314点热度 0人点赞 0条评论

java -jar E:\javaserver\Middleware\modules\com.bea.core.jarbuilder_1.7.0.0.jar 

 

以下是一个META-INF/weblogic-application.xml的例子。

<?xml version="1.0" encoding="UTF-8"?>

<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">

    <xml>

      <parser-factory>

        <saxparser-factory>

          org.apache.xerces.jaxp.SAXParserFactoryImpl

        </saxparser-factory>

        <document-builder-factory>

          org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

        </document-builder-factory>

        <transformer-factory>

          org.apache.xalan.processor.TransformerFactoryImpl

        </transformer-factory>

      </parser-factory>

    </xml>

    <application-param>

        <param-name>webapp.encoding.default</param-name>

        <param-value>UTF-8</param-value>

    </application-param>

    <prefer-application-packages>

        <package-name>javax.jws.*</package-name>

        <package-name>org.apache.xerces.*</package-name>

        <package-name>org.apache.xalan.*</package-name>

    </prefer-application-packages>

</weblogic-application> 

System.setProperty("javax.xml.soap.MessageFactory","com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl");

System.setProperty("javax.xml.soap.SOAPConnectionFactory","weblogic.wsee.saaj.SOAPConnectionFactoryImpl");

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">

<weblogic-web-app>

    <!-- 为web.xml所定义角色赋值,如果是Weblogic 8.1 SP2 或者之前的版本,可以不定义security-role-assignment, 如果是SP3,必须手工添加所有principal(角色或角色组);详细介绍请参考 PAFA3开发设计指南 文档 。-->

    <security-role-assignment>

        <!--role-name必须跟web.xml中security-role标记下的role-name取值相同-->

        <role-name>pafaDemoUser</role-name>

        <!--principal-name必须是UM中定义的角色或者角色组,不能是用户-->

        <principal-name>r_usermanager_rm_user</principal-name>

        <principal-name>p_g_rmtest03_myopr</principal-name>

        <principal-name>Administrators</principal-name>

    </security-role-assignment>

    <jsp-descriptor>

        <jsp-param>

            <param-name>compileFlags</param-name>

            <param-value>-g</param-value>

        </jsp-param>

        <jsp-param>

            <param-name>keepgenerated</param-name>

            <param-value>true</param-value>

        </jsp-param>

    </jsp-descriptor>

    <context-root>xccore</context-root>

</weblogic-web-app>

<?xml version="1.0" encoding="UTF-8"?>  

<wls:weblogic-web-app  

xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"  

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  

http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd  

http://xmlns.oracle.com/weblogic/weblogic-web-app  

http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">  

    <wls:container-descriptor>  

        <wls:prefer-application-packages>  

            <wls:package-name>org.apache.commons.*</wls:package-name>  

        </wls:prefer-application-packages>  

    </wls:container-descriptor>  

</wls:weblogic-web-app> 

weblogic中无法使用jstl的问题

http://blog.csdn.net/hemingwang0902/article/details/42878739

http://blog.csdn.net/z69183787/article/details/8598925

http://blog.itpub.net/9399028/viewspace-692974/

TOMCAT移植到WEBLOGIC,使用JSTL标签显示页面,发现页面显示会出现WEBLOGIC编译JSP页面的错误。

移植jstl,在移植过程中出现如下问题 

在tomcat中采用jstl显示的${pageContext.request.contextPath},移植到weblogic后报如下错误 

weblogic.servlet.jsp.CompilationException: Failed to compile JSP /jsp/index.jsp 

index.jsp:51:21: This attribute does not support request time values. 

<frame src="<c:out value='${pageContext.request.contextPath}'/>/jsp/home/main.jsp" name="" scrolling=yes marginwidth=0 marginheight=0> 

^---^ 

首先考虑是jar包的问题,然后想办法添加如下配置参数在weblogic.xml中,结果没有起到作用,而且还出其他错误,于是换回原来的方式 

<charset-params> 

<input-charset> 

<resource-path>/*</resource-path> 

<java-charset-name>utf-8</java-charset-name> 

</input-charset> 

</charset-params> 

<container-descriptor> 

<prefer-web-inf-classes>true</prefer-web-inf-classes> 

</container-descriptor> 

分析原因,进行调试,把URI修改成tld文件的位置,结果发现问题可以解决。后来发现修改成网上的URI也是可以的,于是判定是在web.xml中注册的URI没有起作用,所以确定问题点了,使在weblogic解析jsp是如果URI是一http打头的话,他是直接上网查询的,不是读取你的注册信息,所以有二种修改方式: 

1、修改 

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> 

to 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

2、修改 

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> 

to 

<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>

***********************************

不支持直接输出${subject.properties}

而要改为:<c:out value="${subject.properties}"/> 

除了2个jar包 standard.jar jstl.jar

taglib要改为以下连接 注意com后没有/jsp

<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

我试了试很管用

 Weblogic jstl 冲突问题的解决

分类: WEBLOGIC 2014-07-18 16:46 470人阅读 评论(0) 收藏 举报

1、将web.xml 中的 servlet版本更改为 2.5

2、jstl包版本更改为 1.2

或 进行如下配置:

[html] view plaincopy

<?xml version="1.0" encoding="UTF-8"?>  

<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  

    <context-root>/</context-root>  

    <jsp-descriptor>  

        <keepgenerated>true</keepgenerated>  

        <page-check-seconds>0</page-check-seconds>  

     </jsp-descriptor>  

    <container-descriptor>  

        <servlet-reload-check-secs>0</servlet-reload-check-secs>  

        <resource-reload-check-secs>0</resource-reload-check-secs>  

    <prefer-application-packages>  

        <package-name>antlr.*</package-name>  

        <package-name>org.hibernate.*</package-name>  

        <package-name>javax.persistence.*</package-name>  

    </prefer-application-packages>        </strong></span>  

    </container-descriptor>  

    <session-descriptor>  

        <timeout-secs>3600</timeout-secs>  

        <cookie-name>JSESSIONIDSstpt</cookie-name>  

       <!--  <persistent-store-type>replicated</persistent-store-type> 

        -->  

    </session-descriptor>      

    <!--   

        当<session-timeout>设置为-2,表示将使用在weblogic.xml中设置的   

        TimeoutSecs这个属性值。   

        当<session-timeout>设置为-1,表示Session将永不过期,而忽略在   

        weblogic.xml中设置的TimeoutSecs属性值。   

     -->  

    <!--   

    <context-root>/上下文根</context-root>    -->  

</weblogic-web-app>  

 weblogic.xml 精妙设置

分类: Web服务器 2009-07-03 15:37 10405人阅读 评论(0) 收藏 举报

weblogicjsptomcatservletjarweb

一:weblogic 页面访问速度比tomcat慢的原因和解决办法

 

公司有个项目,部署在weblogic8.1上之后,发现比在tomcat下慢很多,经过分析排查,原因是web应用的WEB-INF下的weblogic.xml里的参数设置不合理(使用默认值有时并非最佳值)造成的,具体说明如下:

 

1:pageCheckSeconds

<jsp-descriptor>

   <param-name>pageCheckSeconds</param-name>

   <param-value>-1</param-value>

</jsp-descriptor>

 

pageCheckSecond的默认值是1,表示每隔1秒对JSP页面进行检查,检查JSP页面是否被修改、是否需要重新编译。

系统上线后,需要对该默认值修改为-1,表示永不检查。修改为-1的一个缺点是:对于页面的修改需要重新部署整个WEB应用。

 

2:servlet-reload-check-secs

 

该参数的默认值也是1,每隔1秒检查servlet是否被修改并需要重新编译。这里建议修改为-1,表示永不检查,具体设置如下:

<container-descriptor> 

   <servlet-reload-check-secs>-1</servlet-reload-check-secs>

 </container-descriptor>

 

 

二:应用程序的jar包和weblogic类冲突的问题

 

公司的项目还遇到这样一个问题,Tomcat下用的好好的,但是放到weblogic下就出了问题,最可能造成这样的原因是应用程序的jar包和weblogic下的jar包冲突。可以在weblogic.xml里设置,具体如下:

<container-descriptor> 

  <prefer-web-inf-classes>true</prefer-web-inf-classes>

 </container-descriptor>

 

从节点名称上也能比较清楚知道该设置的含义,优先使用Web应用里加载的类。

 

三:查看weblogic编译jsp文件产生的.java文件

 

    <jsp-param> 

       <param-name>keepgenerated</param-name> 

       <param-value>true</param-value> 

   </jsp-param>

 

keepgenerated:是否让编译jsp文件产生的.java文件持续存在,如果设置为true,就可以在部署的环境查看jsp产生的.java文件,方便调试错误。

 weblogic中优先加载应用中的jar包 prefer-application-packages

分类: WEBLOGIC 2014-05-14 15:13 1577人阅读 评论(0) 收藏 举报

其他帮助连接:http://shuwen.iteye.com/blog/1124220

仅针对10.3及以上版本。 

在WEB-INF下面添加weblogic.xml文件。

<?xml version="1.0" encoding="UTF-8"?>

<weblogic-web-app

        xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd

http://xmlns.oracle.com/weblogic/weblogic-web-app

http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">

    <jsp-descriptor>

        <working-dir>app_workingDir</working-dir>

    </jsp-descriptor>

    <container-descriptor>

        <!--<prefer-web-inf-classes>true</prefer-web-inf-classes>-->

        <prefer-application-packages>

            <package-name>org.apache.commons.lang.*</package-name>

            <package-name>antlr.*</package-name>

            <package-name>org.hibernate.*</package-name>

            <package-name>javax.persistence.*</package-name>

        </prefer-application-packages>

    </container-descriptor>

    <context-root>/app</context-root>

</weblogic-web-app>其中prefer-web-inf-classes和prefer-application-packages只能二选一。 

使用此方法对hibernate jpa2.0加载时可不用修改weblogic启动脚本的CLASSPATH。 

注意xml文件的xsd文件声明必须正确。 

我用此方法解决了在weblogic10.3.6和hibernate3.6.10的jpa jar包冲突。 

Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.EnumConstantNotPresentExceptionProxy 

如只设定prefer-web-inf-classes为true 也不能解决以上问题。 

yxkong

这个人很懒,什么都没留下

文章评论