通过初始化参数来制定配置文件的位置
2013-10-10 09:41
465 查看
在上一篇文章《
》中,我们并没有制定cxf-servlet.xml的位置
可是为什么就能读到cxf-servlet.xml呢?这时因为系统会默认的到web-inf目录下去找一个名为cxf-servlet.xml的文件,当我们移动cxf-servlet.xml
早其他位置时,它会报以下错误
[java]
view plaincopyprint?
警告: Can't find the the request for http://localhost:8080/CXF_3/cxf/hello's Observer
解决办法如下:
1、web.xml中
在web.xml中加上以下代码:
[html]
view plaincopyprint?
<init-param>
<param-name>config-location</param-name>
<param-value>classpath:cxf-servlet.xml</param-value>//这时就回到classpath下去找名为cxf-servlet.xml文件
</init-param>
以下附上CXF核心servlet(CXFServlet)的主要代码(以下代码可以通过将cxf的狠心jar包拖进反编译工具中获得)
[java]
view plaincopyprint?
package org.apache.cxf.transport.servlet;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.core.io.Resource;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.context.support.XmlWebApplicationContext;
public class CXFServlet
extends CXFNonSpringServlet
{
protected void loadBus(ServletConfig sc)
{
ApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(sc.getServletContext());
String configLocation = sc.getInitParameter("config-location");
if (configLocation == null)
try {
InputStream is = sc.getServletContext().getResourceAsStream("/WEB-INF/cxf-servlet.xml");
if ((is !=
null) && (is.available() > 0)) {
is.close();
configLocation = "/WEB-INF/cxf-servlet.xml";
}
}
catch (Exception ex)
{
}
if (configLocation !=
null) {
wac = createSpringContext(wac, sc, configLocation);
}
if (wac != null)
setBus((Bus)wac.getBean("cxf", Bus.class));
else
setBus(BusFactory.newInstance().createBus());
}
基于web的cxf的第一种发布方式——简单发布
》中,我们并没有制定cxf-servlet.xml的位置可是为什么就能读到cxf-servlet.xml呢?这时因为系统会默认的到web-inf目录下去找一个名为cxf-servlet.xml的文件,当我们移动cxf-servlet.xml
早其他位置时,它会报以下错误
[java]
view plaincopyprint?
警告: Can't find the the request for http://localhost:8080/CXF_3/cxf/hello's Observer
警告: Can't find the the request for http://localhost:8080/CXF_3/cxf/hello's Observer
解决办法如下:
1、web.xml中
在web.xml中加上以下代码:
[html]
view plaincopyprint?
<init-param>
<param-name>config-location</param-name>
<param-value>classpath:cxf-servlet.xml</param-value>//这时就回到classpath下去找名为cxf-servlet.xml文件
</init-param>
<init-param> <param-name>config-location</param-name> <param-value>classpath:cxf-servlet.xml</param-value>//这时就回到classpath下去找名为cxf-servlet.xml文件 </init-param>
以下附上CXF核心servlet(CXFServlet)的主要代码(以下代码可以通过将cxf的狠心jar包拖进反编译工具中获得)
[java]
view plaincopyprint?
package org.apache.cxf.transport.servlet;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.core.io.Resource;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.context.support.XmlWebApplicationContext;
public class CXFServlet
extends CXFNonSpringServlet
{
protected void loadBus(ServletConfig sc)
{
ApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(sc.getServletContext());
String configLocation = sc.getInitParameter("config-location");
if (configLocation == null)
try {
InputStream is = sc.getServletContext().getResourceAsStream("/WEB-INF/cxf-servlet.xml");
if ((is !=
null) && (is.available() > 0)) {
is.close();
configLocation = "/WEB-INF/cxf-servlet.xml";
}
}
catch (Exception ex)
{
}
if (configLocation !=
null) {
wac = createSpringContext(wac, sc, configLocation);
}
if (wac != null)
setBus((Bus)wac.getBean("cxf", Bus.class));
else
setBus(BusFactory.newInstance().createBus());
}
相关文章推荐
- 通过初始化参数来制定配置文件的位置
- Redhat中通过命令工具和配置文件设置TCP/IP参数
- Redhat中通过命令工具和配置文件设置TCP/IP参数的方法
- 通过.properties文件配置参数
- Redhat中通过命令工具和配置文件设置TCP/IP参数的方法
- 22-FCKEditor参数配置 (通过JS文件实现)
- 通过读取web.xml文件中的配置参数连接数据库(原)
- 修改Struts2的struts.xml配置文件位置和名称-重点是init-param参数用来切换加载的路径
- Firefox 2.0 配置文件中代理服务器设置参数的位置及含义
- ssh集成下的配置文件参数和存放位置详解
- 从配置文件中取得初始化参数
- oracle 通过配置参数文件profle控制用户连接数
- C++中通过MFC对ini初始化,配置文件的读写使用
- 监听tomcat服务器启动/关闭并从配置文件中读取参数进行初始化
- Filter获取初始化配置文件参数
- Redhat中通过命令工具和配置文件设置TCP/IP参数
- 用一个随项目启动而初始化的servlet读取配置环境,参数的properties文件
- Maven的构建配置文件(Build Profiles) 在命令行使用构建配置文件时,是-P,比如:mvn -Pinput 注意:这里的构建配置文件并不是一个真正的文件,而是通过指定参数来做特定
- 初识RMAN 1:数据文件和控制文件位置参数配置
- Redhat中通过命令工具和配置文件设置TCP/IP参数的方法