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 也不能解决以上问题。
文章评论