使用jsp控制器servlet直接调用xfire框架构建的 WebService怎么不行?

问题描述

[size=14px]在MyEclipse8.5中,我新建了一个WebServiceProject项目用xfire框架构建了一个webService并发布成功,并且用VS2008C#可以调用。在MyEclipse新建一个WebProject项目,并导入Xfire的所有库,新建一个带main函数的java类如下所示:packageresourceOntology;importjava.net.URL;importorg.codehaus.xfire.client.Client;publicclassHelloService{publicstaticvoidmain(Stringarg[])throwsException{Clientclient=newClient(newURL("http://localhost:8080/xfire126Demo/services/MyService?wsdl"));Object[]results=client.invoke("SayHello",newObject[]{"许小峰"});System.out.println((String)results[0]);}}直接运行类,可以成功调用,能输出结果,但是当我新建一个jsp页面,并建新一个servlet控制器,在调用webService代码添加到servlet的doPost()方法中,servlet代码如下所示:packageresourceOntology;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.net.MalformedURLException;importjava.io.FileInputStream;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.net.URL;importorg.codehaus.xfire.client.Client;publicclassOntologyServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{this.doPost(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException,MalformedURLException{Clientclient;try{client=newClient(newURL("http://localhost:8080/xfire126Demo/services/MyService?wsdl"));Object[]results=client.invoke("SayHello",newObject[]{"许小峰"});System.out.println((String)results[0]);}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}将该jsp页面提交到该servlet控制器,却出现错误:java.lang.NoClassDefFoundError:org/codehaus/xfire/client/Client好像是说:没有找到org/codehaus/xfire/client/Client这个类。我单独的java文件能找到这个类,并能输出结果,但为什么在servlet里就不行呢,我测试用的java类文件和servlet文件在同一个包的同一个目录下,仅仅因为一个是普通java类,另一个是servlet类吗?是不是在jsp控制器servlet中不能调用webService?试了试,好像也不能在jsp页面的小脚本<%%>中调用,可能是我的方法不太对,感觉很奇怪,各位遇到过这个问题没有是如何解决的,反正我知道使用javaScript+ajax是可以调用的。我想在servlet中直接调用,或者是在jsp页面的小脚本<%%>中调用,请各位赐教一下,感激不尽![/size]

时间: 2024-08-16 17:27:34

使用jsp控制器servlet直接调用xfire框架构建的 WebService怎么不行?的相关文章

JSP使用Servlet作为控制器实现MVC模式实例详解_JSP编程

本文实例讲述了JSP使用Servlet作为控制器实现MVC模式的方法.分享给大家供大家参考.具体如下: 一.目标: ① 初步理解MVC模式: ② 掌握Servlet的编写: ③ 使用MVC模式完成登录功能. 二.主要内容: ① 分析JSP+JavaBean模式存在的问题,并介绍JSP+JavaBean+Servlet模式,以及和MVC模式的关系: ② 通过简单实例介绍Servlet的编写.配置和运行: ③ 采用Servlet完成登录功能的控制. 1. JSP+JavaBean这种模式存在的问题?

在Android远程上传以及下载图片---XFire框架

http://blog.csdn.net/haha_mingg/article/details/6347588   有时我们可以看到,图片往往被提交到服务器端,这里我通过XFire框架来实现远程上传以及下载图片的功能. 首先我们来看看从服务器端下载图片的功能:   我用的是KSOAP框架,我之前的文章有讲述过.在这里不要多说,贴上代码.   首先我们看看Acitivity中的代码:  [java] view plaincopyprint? package com.net.connect.app;

JSP+JavaBean+Servlet工作原理实例讲解

JSP+JavaBean两层结构的开发应该是比较熟悉的,也比较好理解. 但是有一点必须要清楚就是用户通过浏览器来发送网页的请求,此请求到达服务器后在服务器端查找对应的网页,如果是首次请求(第二次就不用解释执行了),对于JSP来说要生成Servlet,然后通过Servlet引擎来执行Servlet,把调用JavaBean的结果嵌入到页面中返回给用户的浏览器. JSP+JavaBean+Servlet三层结构的实质是多了一个Controller:Servlet来分发客户端浏览器的请求.如果把起控制器

JSP与Servlet

js|servlet JSP与Servlet 这篇文章的主要目的不是单纯的介绍JSP,也不是详细的介绍Servlet.这是一篇讲述JSP和Servlet之间关系的基础性文章.这篇文章主要是针对那些学习JSP的人而写的.至于Servlet和JavaBean以及Servlet和XML我的两个同学在他们的文档中将会给出明确的解释.本文的主要结构:1. Servlet是什么?2. JSP与Servlet.3. Servlet 概述4. 附录一5. 附录二在讲述的过程中,主要是针对JSP和Servlet关

jsp和servlet编写登录界面时?登录成功与否该用客户端跳转还是服务器跳转

问题描述 jsp和servlet编写登录界面时?登录成功与否该用客户端跳转还是服务器跳转 3C jsp和servlet编写登录界面时?登录成功与否该用客户端跳转还是服务器跳转 1.服务器端跳转:forward 2.客户端跳转:sendRediirect 请问该用哪一个?两个方法有什么区别? 解决方案 客户端跳转与服务器跳转服务器跳转与客户端跳转的区别服务器跳转与客户端跳转的区别 解决方案二: 用forward是转发,在新页面上不会有跳转时的比如登录名密码之类的信息,更安全而且效率更高,,send

Web---JSP注册技术的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean

我们可以这么理解JSP注册技术的发展过程: 第一代JSP技术:纯JSP开发. 第二代JSP技术:JSP+EJB开发. (EJB简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.) 第三代JSP技术:JSP+Servlet+POJO开发.(**MVC框架) (POJO其实就是简单的JAVA类,也是简单的JavaBean(特殊的值对象封装)) 其实EJB-可理解成企业级的JavaBean(相对于简单的JavaBean增加了一些业务处理方法) 现在还有更新的技术,目前还没学到,学到后会第一

在Tomcat下JSP、Servlet和JavaBean环境的配置

js|servlet 经常看到jsp的初学者问tomcat下如何配置jsp.servlet和bean的问题,于是总结了一下如何tomcat下配置jsp.servlet和ben,希望对那些初学者有所帮助. 第一步:下载j2sdk和tomcat:到sun官方站点(http://java.sun.com/j2se/1.4.2/download.html)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.4.2 Documentat

深入剖析JSP和Servlet对中文的处理

js|servlet|中文 世界上的各地区都有本地的语言.地区差异直接导致了语言环境的差异.在开发一个国际化程序的过程中,处理语言问题就显得很重要了. 这是一个世界范围内都存在的问题,所以,Java提供了世界性的解决方法.本文描述的方法是用于处理中文的,但是,推而广之,对于处理世界上其它国家和地区的语言同样适用. 汉字是双字节的.所谓双字节是指一个双字要占用两个BYTE的位置(即16位),分别称为高位和低位.中国规定的汉字编码为GB2312,这是强制性的,目前几乎所有的能处理中文的应用程序都支持

深入剖析JSP和Servlet对中文的处理过程

js|servlet|过程|中文 概述 世界上的各地区都有本地的语言.地区差异直接导致了语言环境的差异.在开发一个国际化程序的过程中,处理语言问题就显得很重要了. 这是一个世界范围内都存在的问题,所以,Java提供了世界性的解决方法.本文描述的方法是用于处理中文的,但是,推而广之,对于处理世界上其它国家和地区的语言同样适用. 汉字是双字节的.所谓双字节是指一个双字要占用两个BYTE的位置(即16位),分别称为高位和低位.中国规定的汉字编码为GB2312,这是强制性的,目前几乎所有的能处理中文的应