Weblogic主要配置文件有3个:系统配置文件config.xml、属性文件weblogic.xml和web.xml
下面对这个几个文件进行详细的认识。
1、系统配置文件config.xml
(1)config.xml概述
系统配置文件config.xml,它用于指定域的名称以及域中每个服务器实例、群集、资源和服务的配置参数设置。在本机中,该文件的存放位置在Weblogic\user_projects\domains\base_domain\config\config.xml中(默认安装目录,其中域的名字以及路径可任意选择)。
在config.xml文件中包含了一系列xml元素,其中域元素的为最顶层元素,域中所有元素都是域元素的子集。域元素包括服务器、集群、应用等子元素,这些元素可能还有其他自己的子元素。例如:服务器的子元素包含web服务器,SSL和日志等,应用程序的子元素包含EJB组件和Web应用组件等。
(2)编辑配置文件
在大多数情况下,不应直接修改config.xml文件或其他配置文件。通常情况下使用管理控制台或其他weblogic server工具来配置config.xml。每次配置更改后,将随后反映在配置文件中。
注意:在 WebLogic Server 执行时不能修改配置文件,因为 WebLogic Server 会定期重写这些文件。否则,所做的更改将会丢失,并且根据所使用的平台还可能导致 WebLogic Server 出现故障。
由于 WebLogic Server 配置文件都是标准格式的 XML 文件,因此可以使用 XSLT 修改它们或使用诸如 Apache Xerces 或 JDOM 的 XML 解析器应用程序将某些重复的更改编写为脚本。请确保对创建的任何脚本都进行全面测试,并在对每个配置文件进行任何更改之前先创建其备份副本。
(3)配置文件归档
配置更改后,可以通过配置,让weblogic把他归档到一个旧文件中。这有助于在需要还原配置更改或配置文件损坏后进行恢复,不过后一种情况极少发生。当管理服务器启动时,它会保存一个包含配置文件的 JAR 文件,文件名为 config-booted.jar。在对配置文件进行更改后,旧文件将保存在域目录的 configArchive 目录下的一个 JAR 文件中,其名称按顺序编号,
(4)配置文件中的安全凭证
域安全的安全凭据和嵌入式 LDAP 服务器都以加密的形式存储在 config.xml 文件中。如果手工创建 config.xml,则需要找到这些凭据,并在对凭据加密后将加密凭据复制到 config.xml 文件中。
在本机中,配置加密文件如下所示:
<security-configuration>
<credential-encrypted>{AES}encypted-value-here</credential-encrypted>
</security-configuration>
<embedded-ldap>
<credential-encrypted>{AES}encypted-value-here</credential-encrypted>
</embedded-ldap>
(注:配置加密内容就是encypted-value-here这里)
(5)辅助配置文件
在 WebLogic Server 9.0 之前,config.xml 文件是所有配置信息的仓库。现在,由中心 config.xml 文件引用的辅助配置文件可对多个 WebLogic Server 子系统进行配置。这些辅助配置文件驻留在 Weblogic\user_projects\domains\base_domain\config 目录的子目录中。
2、属性文件weblogic.xml
在weblogic Server中,允许通过设置weblogic应用程序扩展描述符(weblogic.xml)配置jsp容器,该文件通常位于web应用程序的web-inf目录下。一般不通过修改weblogic文件直接配置,而是通过控制台配置该文件,在Deploments-->web Application-->defaultWebApp中配置。可在开发和生产环境中配置不同的信息。
主要配置信息:
compilerSupportsEncoding
//true--支持使用字符集
encoding
//指定jsp文件的默认字符集,如gb2312;
vervose
//是否将调试信息输出到浏览器和日志;
keepgenerated
//是否让编译jsp文件产生的.java文件持续存在;
Page Check Seconds
//正数--在以秒为单位的时间间隔检查jsp文件是否发生了修改,如果是则重新编译;
// 0--在每一个请求检查jsp;
//-1--不对jsp文件进行检查。
Precompile
//true--在weblogic服务器启动时自动编译所有的jsp。
Debug Enable //true--是否允许调试。
下面为weblogic.xml 部署描述符元素的部分:
description
description 元素是 Web 应用程序的文字描述。
weblogic-version
weblogic-version元素表示该 Web 应用程序(在根元素<weblogic-web-app>下定义)即将部署至的 WebLogic Server 的版本。该元素仅表示版本信息,WebLogic Server并不使用该元素。
security-role-assignment
security-role-assignment元素声明 Web 应用程序安全角色与 WebLogic Server中一个或多个委托人之间的映射,如以下示例所示。
<security-role-assignment>
<role-name>PayrollAdmin</role-name>
<principal-name>Tanya</principal-name>
<principal-name>Fred</principal-name>
<principal-name>system</principal-name>
</security-role-assignment>
还可以使用它将给定角色标记为外部定义的角色,如以下示例所示:
<security-role-assignment>
<role-name>roleadmin</role-name>
<externally-defined/>
</security-role-assignment>
(注意:在<security-role-assignment>元素中,必须定义<principal-name>或<externally-defined>。不能两者都忽略。)
run-as-role-assignment
run-as-role-assignment 元素将 web.xml 中的 run-as 角色名(servlet 元素的子元素)映射为系统中的有效用户名。对于给定 servlet,该值将被 servlet-descriptor 中的 run-as-principal-name 元素替代。如果给定角色名中没有指定 run-as-role-assignment,则 Web 应用程序容器使用 security-role-assignment 中定义的第一个 principal-name。以下示例说明如何使用 run-as-role-assignment 元素。
<run-as-role-assignment>
<role-name>RunAsRoleName</role-name>
<run-as-principal-name>joe</run-as-principal-name>
</run-as-role-assignment>
reference-descriptorGroup
这个 weblogic.xml 部署描述符指 reference-descriptorGroup,它属于 weblogic-j2ee-xsd 文件的一部分。
3、属性文件web.xml
web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。
当你的web工程没用到这些时,你可以不用web.xml文件来配置你的Application。
一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。
每个xml文件都有定义它书写规则的Schema文件,也就是说javaEE的定义web.xml所对应的xml Schema文件中定义了多少种标签元素,web.xml中就可以出现它所定义的标签元素,也就具备哪些特定的功能。web.xml的模式文件是由Sun 公司定义的,每个web.xml文件的根元素为<web-app>中,必须标明这个web.xml使用的是哪个模式文件。如:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
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/web-app_2_5.xsd">
</web-app>
web.xml的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着web.mxl模式文件的版本升级,里面定义的功能会越来越复杂,标签元素的种类肯定也会越来越多,但有些不是很常用的,我们只需记住一些常用的并知道怎么配置就可以了。
下面列出web.xml我们常用的一些标签元素及其功能:
1、指定欢迎页面,例如:
<welcome-file-list>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index1.jsp</welcome-file>
</welcome-file-list>
PS:指定了2个欢迎页面,显示时按顺序从第一个找起,如果第一个存在,就显示第一个,后面的不起作用。如果第一个不存在,就找第二个,以此类推。
关于欢迎页面:
访问一个网站时,默认看到的第一个页面就叫欢迎页,一般情况下是由首页来充当欢迎页的。一般情况下,我们会在web.xml中指定欢迎页。但 web.xml并不是一个Web的必要文件,没有web.xml,网站仍然是可以正常工作的。只不过网站的功能复杂起来后,web.xml的确有非常大用处,所以,默认创建的动态web工程在WEB-INF文件夹下面都有一个web.xml文件。
2、命名与定制URL。我们可以为Servlet和JSP文件命名并定制URL,其中定制URL是依赖命名的,命名必须在定制URL前。下面拿servlet来举例:
(1)、为Servlet命名:
<servlet>
<servlet-name>ChineseCheckCode</servlet-name>
<servlet-class>com.yuyu.ChineseCheckCode</servlet-class>
</servlet>
(2)、为Servlet定制URL
<servlet-mapping>
<servlet-name>ChineseCheckCode</servlet-name>
<url-pattern>ChineseCheckCode</url-pattern>
</servlet-mapping>
3、定制初始化参数:可以定制servlet、JSP、Context的初始化参数,然后可以再servlet、JSP、Context中获取这些参数值。
下面用servlet来举例:
<servlet>
<servlet-name>BasicServlet</servlet-name>
<servlet-class>com.yuyu.BasicServlet</servlet-class>
<init-param>
<param-name>userName</param-name>
<param-value>Daniel</param-value>
</init-param>
<init-param>
<param-name>E-mail</param-name>
<param-value>125485762@qq.com</param-value>
</init-param>
</servlet>
经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。
4、设置过滤器:比如设置一个编码过滤器,过滤所有资源,以struts2为例
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
除了这些标签元素之外,还可以往web.xml中添加很多标签元素,比如监听器、拦截器、会话(Session)过期时间等等,这里就不做详细描述了。
参考书籍:《叱咤风云:WebLogic企业级运维实战》P34~P59 戴冠平著
参考资料:http://bbs.landingbj.com/t-0-319281-1.html
参考资料:http://bulo.hujiang.com/u/4867828/diary/977428/
参考资料:http://czmmiao.iteye.com/blog/1614084
参考资料:http://www.cnblogs.com/yqskj/articles/2233061.html