- 浏览: 439916 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
qja:
Iterator.remove()这个方法也会出错的。
java.util.ConcurrentModificationException 出现的原因和解决办法 -
angeli:
List<String> save = new A ...
java.util.ConcurrentModificationException 出现的原因和解决办法 -
大峰子:
灰常感谢 刚好碰到这个问题, 搜了好多都没找到解决方法
python学习笔记-Python交互模式下方向键出现乱码 -
anypwx:
牛哥,怎么找到的,解决了我的报错问题,谢谢
JSONObject NestableRuntimeException -
tp7300:
确实好很多了,谢谢博主。
Failed to install on device 'emulator-5554': timeout
第一次接触webservice,所以想在原有的项目上增加webservice功能,没想到今天相当的郁闷,遇到很多的错误,所以花了差不多一下午的时间去解决,不过最后终于成功了。下面是一个小例子(采用自底向上的开发模式)。写下来供以后参考。以下是主要配置文件。
配置步骤:
《1》、导包
struts2:
1. commons-logging-1.0.4.jar
2. freemarker-2.3.13.jar
3. ognl-2.6.11.jar
4. struts2-core-2.1.6.jar
5. xwork-2.1.2.jar
6. commons-fileupload-1.2.1.jar
7. commons-io-1.3.2.jar
8. struts2-spring-plugin-2.1.6.jar
spring2:
1. log4j-1.2.14.jar
2. aspectjweaver.jar
3. aspectjrt.jar
4. spring.jar
xfire-1.2.6(从网上下载新版本,然后把jar包导入WEB-INF\lib下:xfire-all-1.2.6.jar和lib下的所有包)
《2》、删除一些会冲突的包
把lib下的x-fire中的spring-1.2.6.jar删掉,它会和spring2中的spring.jar包发生冲突。
《3》配置web.xnl
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml,classpath:org/codehaus/xfire/spring/xfire.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>xfireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>xfireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.spring.XFireSpringServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<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>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
《4》配置struts.xml(在该例子中还用不到它,以下配置只是与spring2集成)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="public" extends="struts-default">
<action name="login" class="loginAction">
......
</action>
</package>
</struts>
《5》配置applicationContext-beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="connectDb" class="jxust.zjh.db.ConnectDb" />
<bean id="educate" class="jxust.zjh.educateImpl" />
<bean name="helloService" class="org.codehaus.xfire.spring.ServiceBean">
<property name="serviceBean" ref="educate"/>
<property name="serviceClass" value="jxust.zjh.Ieducate"/>
<property name="inHandlers" ref="addressingHandler" />
</bean>
<bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>
</beans>
《6》配置applicationContext-actions.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="public" abstract="true">
<property name="connectDb" ref="connectDb" />
</bean>
<bean id="loginAction" class="jxust.zjh.actions.LoginAction" scope="prototype" parent="public">
</bean>
</beans>
《7》修改services.xml(由于用的是spring2.0,所以把xmlns="http://xfire.codehaus.org/config/1.0"放在<service>中)
<?xml version="1.0" encoding="UTF-8"?>
<beans >
<service xmlns="http://xfire.codehaus.org/config/1.0">
<name>educate</name>
<serviceClass>jxust.zjh.Ieducate</serviceClass>
<implementationClass>jxust.zjh.educateImpl</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service></beans>
《8》编写一个简单的接口和实现类(用来测试)
Ieducate.java
package jxust.zjh;
public interface Ieducate {
public String queryStudent(String s_card);
}
EducateImpl.java(该实现类依赖了其他类的对象)
package jxust.zjh;
public class EducateImpl implements Ieducate {
public String queryStudent(String s_card) {
return "该学生学号是:"+s_card;
}
}
这样在浏览器中输入:http://localhost:8080/EducateSystem_server/services/educate?wsdl
就可以看到生成的wsdl文件了
配置步骤:
《1》、导包
struts2:
1. commons-logging-1.0.4.jar
2. freemarker-2.3.13.jar
3. ognl-2.6.11.jar
4. struts2-core-2.1.6.jar
5. xwork-2.1.2.jar
6. commons-fileupload-1.2.1.jar
7. commons-io-1.3.2.jar
8. struts2-spring-plugin-2.1.6.jar
spring2:
1. log4j-1.2.14.jar
2. aspectjweaver.jar
3. aspectjrt.jar
4. spring.jar
xfire-1.2.6(从网上下载新版本,然后把jar包导入WEB-INF\lib下:xfire-all-1.2.6.jar和lib下的所有包)
《2》、删除一些会冲突的包
把lib下的x-fire中的spring-1.2.6.jar删掉,它会和spring2中的spring.jar包发生冲突。
《3》配置web.xnl
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml,classpath:org/codehaus/xfire/spring/xfire.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>xfireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>xfireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.spring.XFireSpringServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<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>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
《4》配置struts.xml(在该例子中还用不到它,以下配置只是与spring2集成)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="public" extends="struts-default">
<action name="login" class="loginAction">
......
</action>
</package>
</struts>
《5》配置applicationContext-beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="connectDb" class="jxust.zjh.db.ConnectDb" />
<bean id="educate" class="jxust.zjh.educateImpl" />
<bean name="helloService" class="org.codehaus.xfire.spring.ServiceBean">
<property name="serviceBean" ref="educate"/>
<property name="serviceClass" value="jxust.zjh.Ieducate"/>
<property name="inHandlers" ref="addressingHandler" />
</bean>
<bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>
</beans>
《6》配置applicationContext-actions.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="public" abstract="true">
<property name="connectDb" ref="connectDb" />
</bean>
<bean id="loginAction" class="jxust.zjh.actions.LoginAction" scope="prototype" parent="public">
</bean>
</beans>
《7》修改services.xml(由于用的是spring2.0,所以把xmlns="http://xfire.codehaus.org/config/1.0"放在<service>中)
<?xml version="1.0" encoding="UTF-8"?>
<beans >
<service xmlns="http://xfire.codehaus.org/config/1.0">
<name>educate</name>
<serviceClass>jxust.zjh.Ieducate</serviceClass>
<implementationClass>jxust.zjh.educateImpl</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service></beans>
《8》编写一个简单的接口和实现类(用来测试)
Ieducate.java
package jxust.zjh;
public interface Ieducate {
public String queryStudent(String s_card);
}
EducateImpl.java(该实现类依赖了其他类的对象)
package jxust.zjh;
public class EducateImpl implements Ieducate {
public String queryStudent(String s_card) {
return "该学生学号是:"+s_card;
}
}
这样在浏览器中输入:http://localhost:8080/EducateSystem_server/services/educate?wsdl
就可以看到生成的wsdl文件了
发表评论
-
solr学习笔记-linux下配置solr
2012-05-26 20:03 7951本文地址: http://zhoujianghai. ... -
关于javac编译时出现“非法字符:\65279”的解决方法
2012-04-12 11:25 1923一些文本编辑软件在保存一个以UTF-8编码的文件时 ... -
UrlConnection连接和Socket连接的区别
2011-10-14 15:22 7170关于UrlConnection连接和Socket连接的区别,只 ... -
搜狗的一道关于加密解密的在线测评题目
2011-10-01 15:04 1619是一个信息编码的程序,阅读其encode部分,并补全其deco ... -
java实现快速排序
2011-09-08 11:00 1336/** * 快速排序 * @author zho ... -
java实现大数相乘
2011-09-08 10:41 3528计算大数:1234567891011121 ... -
java.util.ConcurrentModificationException 出现的原因和解决办法
2011-05-12 17:03 39354用iterator遍历集合时碰到java.util.Co ... -
Java:ArrayList和LinkedList区别
2011-02-15 16:30 1629一般大家都知道ArrayList ... -
java.lang.LinkageError: loader constraint violation: when resolving interface...
2010-10-06 22:12 2354java.lang.LinkageError: load ... -
JAVA多线程
2010-08-07 14:46 1069多线程 线程:是指进程中的一个执行流程。 线程与进程的区别 ... -
struts2常量详解
2010-06-11 08:55 1656struts2的配置文件之struts ... -
深入Java虚拟机:JVM中的Stack和Heap
2010-05-16 15:02 1108在JVM中,内存分为两个部分,Stack(栈)和Heap(堆) ... -
关于java的作用域protected
2010-05-10 19:54 1927在某个类中定义的protected 方法和属性和默认权限方法和 ... -
关于org.springframework.security.AccessDeniedException: Access is denied
2010-05-06 19:34 7828在做系统权限管理时使用了springsecurity,出现了如 ... -
struts2的struts.xml文件中package里的元素排列顺序
2010-04-22 09:52 1901package里元素必须按照一定的顺序排列,排列顺序如下: ... -
struts2自定义404错误页面
2010-04-21 17:50 5333以前做的一个网站,最近服务器后台出现一些异常,问题是客户访问一 ... -
hibernate的主键生成策略(generator)详解
2010-04-14 09:30 1786assigned” 主键由外 ... -
ssh开发关于struts2,action中方法执行两次的问题
2010-04-10 20:58 2353前段时间发现了一个很奇怪的问题,我的项目中关于action中的 ... -
org.hibernate.hql.ast.QuerySyntaxException: xx is not mapped [sql语句]
2010-04-08 10:06 2231今天一时大意,写了下面这条查询语句 final String ... -
Attempted a bean operation on a null object(tomcat5.0以上版本)
2010-03-24 21:45 1886今天做scwcd模拟题的时候,碰到这样一个题目: A serv ...
相关推荐
JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例(已上传) 1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、...
总结来说,"Spring+Hibernate+Struts+XFire的WebService实例"提供了一个完整的Java Web服务解决方案,涵盖了从数据持久化到用户界面,再到Web服务的整个开发流程。这个实例对于学习和理解企业级Java应用的开发具有很...
1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回...
SSH(Struts2 + Spring + Hibernate)是一种常见的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。Struts2提供了MVC(Model-View-Controller)架构,Spring为应用提供依赖注入(DI)和面向切面编程(AOP...
【整合XFire与Spring进行Web Service开发】 XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service...
SSH(Struts+Spring+Hibernate)是一个常见的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。在SSH框架下实现Web服务(WebService),我们可以使用XFire库,它是一个轻量级、高性能的Web服务实现,支持...
XFire是一个轻量级的WebService框架,它使得开发WebService变得简单快捷。为了使SSH框架能够提供WebService服务,需要对项目进行以下扩展: ##### 1. 添加XFire库包 - 在项目的`.classpath`文件中添加XFire库包的...
MyEclipse10是基于Eclipse的商业级Java开发平台,支持多种技术栈,包括Java EE、Spring、Struts等。其强大的功能包括代码编辑、调试、测试、部署等,尤其在Web服务开发方面,提供了可视化工具,使得开发过程更为便捷...
5. **第十二章 开发Struts 2+Spring应用.pdf**:结合Struts 2和Spring,讲述MVC(Model-View-Controller)架构的应用。 6. **第十一章 开发Spring+Struts+Hibernate应用.pdf**:这章可能介绍如何整合Spring、Struts...
services.xml文件在结构上类似于struts2中的struts.xml,是用来配置服务接口的。 在Web应用的部署中,需要配置web.xml文件,以便于在HTTP环境中提供服务。web.xml文件中需要配置servlet,其中servlet-name为...
【Struts、Spring、Hibernate】是Java开发中的三大主流框架,它们分别用于处理MVC(Model-View-Controller)架构的不同方面。Struts作为MVC框架的一部分,主要负责控制层,通过Action和ActionForm来管理用户请求与...
通过简单的XML配置或者编程式API,可以将XFire集成到Spring、Struts等主流Java应用框架中,实现Web服务的快速开发。 总结,XFire 1.2.6是一个强大而灵活的Web服务开发工具,尤其适合那些希望避免复杂Web服务框架的...
4. 表单数据封装:Struts2通过Action的属性封装,而Spring MVC通常通过方法参数或RequestParam注解进行封装。 5. 拦截器:两者都支持拦截器,但Spring MVC的拦截器更加灵活和强大。 总结起来,Spring、Spring MVC和...
本文将深入探讨如何利用CXF创建带有用户认证的Web服务接口,并将其与SSH(Spring、Struts、Hibernate)框架整合。 首先,让我们了解一下CXF创建Web服务的基本步骤: 1. **设置项目环境**:确保你的开发环境中已经...
4. 集成库:可能有与Spring、Struts等常见Java框架的集成,方便在现有应用中使用XFire。 5. 序列化库:用于将Java对象转换为SOAP消息,反之亦然。 6. 其他依赖库:XFire可能依赖于其他第三方库,如XML解析器、HTTP...
- **WebService、XML**:能使用XFire和Axis进行开发部署。 - **Web应用服务器**:熟练使用Tomcat、JBoss、Resin、Jetty、Apache、EasyPHP等。 - **缓存技术**:熟练使用Redis,掌握Jetis API。 - **前端技术**:...
本篇文章将围绕"流行的WEB开发技术大全"这一主题,重点介绍JAVA、AJAX、WEBSERVICE、FLEX以及XFIRE这五种关键技术和相关知识。 首先,JAVA作为全球最广泛使用的编程语言之一,尤其在Web开发中扮演着核心角色。Java...
本笔记将探讨CXF的基本概念、如何使用CXF构建Webservice以及与之相关的技术栈,如Spring、Struts2等。 1. **CXF简介** - CXF(CXF Xfire + XWS)是两个项目的合并,提供了SOAP、RESTful、XML/HTTP、WS-*等协议的...
◆ 框架技术:熟练使用Struts1.x、Struts2.x 、Hibernate、Spring ◆ 表 现 层:熟练掌握JSP、HTML、JavaScript、EL表达式和Struts标签库等,熟悉Ajax、DIV+CSS技术,JQuery,了解XML ◆ 编程工具:熟练使用My ...
- **集成功能**:内置了众多开发框架的支持,如SSH(Struts、Spring、Hibernate)、JSF、JPA等,简化了开发流程。 - **数据库管理**:提供数据库连接和管理功能,便于开发者进行数据库操作。 - **代码自动生成**:...