- 浏览: 630894 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (448)
- 字符串相关 (16)
- Struts2页面显示 (15)
- Hibernate错误记录 (6)
- linux命令 (2)
- java项目测试 (5)
- 个人作品 (10)
- hibernate应用 (15)
- struts1 (7)
- 数据库(除了hibernate) (42)
- J2ME/WAP (37)
- servlet/jsp (49)
- java桌面应用+java综合 (14)
- 服务器配置,报错解决 (24)
- Myeclipse配置,抛错解决 (8)
- linux (18)
- JavaScript+jquery+ajax (45)
- div css 页面设计 (16)
- 互联网综合运营 (14)
- 编程工具类 (3)
- 论文 报告 文献 (14)
- PHP (26)
- struts2 (9)
- spring (1)
- 我的IT生活 (14)
- Resin (6)
- java项目记录 (14)
- https安全 (11)
- 支付技术 (3)
最新评论
-
yihaijunyxr:
很好呀,我好久没用iteye了,今天找出两个帐号(yihaij ...
c/c++的监听tmlisten启动缓慢解决 -
yihaijun:
好像这不算是技术博客,是工作博客
c/c++的监听tmlisten启动缓慢解决 -
ml365:
后来还优化了webservice的前置框架,不用cxf,用了另 ...
c/c++的监听tmlisten启动缓慢解决 -
Jayliuying:
有点晚哈 但是也支持一下 楼主
java相关论文的参考文献【转】 -
gqsunrise:
...
我是项目经理,我的项目管理日记【20120229】
2.3、用ASP.NET调用Web Service
首先,打开VS2005,打开“文件-新建-网站”,选择“ASP.NET网站”。
选好存储位置,语言后点击确定,进入默认页面。然后先添加Web引用,把WebService引到当前的工程里面。方法是:在资源管理器中点击右键,选择添加Web 引用,调出对话框:
在URL中填入,前面写好的WebService运行后浏览器上面显示的地址,点击“前往”按钮,如上图,就会显示出所引用的WebService中可以调用的方法,然后点击“添加引用”,就将webservice引用到了当前的工程里面 ,如下图,解决方案中会出现引进来的WebService文件
我们在这就练习调用webservice的四个方法,做一个简单的调用的例子,先在网站的前台添加几个控件,代码如下:
然后在后台写调用的代码,调用之前和使用其它的对象一样,要先实例化,实例化的方法是localhost.Service a = new localhost.Service();然后就可以通过a来访问WebService里面提供的方法了。在这个例子里面,动态的创建了一个button控件来触发WebService的调用,后台代码如下:
1 using System;
2 using System.Data;
3 using System.Configuration;
4 using System.Web;
5 using System.Web.Security;
6 using System.Web.UI;
7 using System.Web.UI.WebControls;
8 using System.Web.UI.WebControls.WebParts;
9 using System.Web.UI.HtmlControls;
10 public partial class _Default : System.Web.UI.Page
11 {
12 protected void Page_Load(object sender, EventArgs e)
13 {
14 //在页面加载的时候动态创建一个按钮,在它的事件里调用Webservice
15 Button btn = new Button();
16 btn.Width = 20;
17 btn.Text = " = ";
18 btn.Click +=new EventHandler(btn_Click);
19 E.Controls.Add(btn);
20 }
21 /// <summary>
22 /// 定义动态创建Button的Click事件,在这个事件中调用Webservice
23 /// </summary>
24 /// <param name="sender"></param>
25 /// <param name="e"></param>
26 void btn_Click(object sender, EventArgs e)
27 {
28 if (Num1.Text != "" && Num2.Text != "")
29 {
30 //实例化引用的webservice对象
31 localhost.Service WebserviceInstance = new localhost.Service();
32 int Oper = selectOper.SelectedIndex;
33 switch( Oper)
34 {
35 //通过实例化的webservice对象来调用Webservice暴露的方法
36 case 0:
37 Result.Text = WebserviceInstance.addition(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
38 break;
39 case 1:
40 Result.Text = WebserviceInstance.subtract(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
41 break;
42 case 2:
43 Result.Text = WebserviceInstance.multiplication(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
44 break;
45 case 3:
46 Result.Text = WebserviceInstance.division(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
47 break;
48 }
49 }
50 }
51 }
52
运行后可以看到效果,如下图所示,在前面两个Textbox里面输入两个操作数,在中间的下拉列表中选择操作符,然后点击“=”号,将计算的结果输出到第三个Textbox里面。2 using System.Data;
3 using System.Configuration;
4 using System.Web;
5 using System.Web.Security;
6 using System.Web.UI;
7 using System.Web.UI.WebControls;
8 using System.Web.UI.WebControls.WebParts;
9 using System.Web.UI.HtmlControls;
10 public partial class _Default : System.Web.UI.Page
11 {
12 protected void Page_Load(object sender, EventArgs e)
13 {
14 //在页面加载的时候动态创建一个按钮,在它的事件里调用Webservice
15 Button btn = new Button();
16 btn.Width = 20;
17 btn.Text = " = ";
18 btn.Click +=new EventHandler(btn_Click);
19 E.Controls.Add(btn);
20 }
21 /// <summary>
22 /// 定义动态创建Button的Click事件,在这个事件中调用Webservice
23 /// </summary>
24 /// <param name="sender"></param>
25 /// <param name="e"></param>
26 void btn_Click(object sender, EventArgs e)
27 {
28 if (Num1.Text != "" && Num2.Text != "")
29 {
30 //实例化引用的webservice对象
31 localhost.Service WebserviceInstance = new localhost.Service();
32 int Oper = selectOper.SelectedIndex;
33 switch( Oper)
34 {
35 //通过实例化的webservice对象来调用Webservice暴露的方法
36 case 0:
37 Result.Text = WebserviceInstance.addition(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
38 break;
39 case 1:
40 Result.Text = WebserviceInstance.subtract(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
41 break;
42 case 2:
43 Result.Text = WebserviceInstance.multiplication(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
44 break;
45 case 3:
46 Result.Text = WebserviceInstance.division(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
47 break;
48 }
49 }
50 }
51 }
52
而整个计算并不是在本地进行的,是在Web服务端进行计算的然后将结果通过XML返还给了调用方的,所以,在运行该程序的时候,WebService程序还必须启动,否则会报无法连接远程服务器的异常,如下图:
到此一个一个简单的WebService的开发和调用就已经完成了,在实际应用中可以根据自己的需要,写一些功能强大的,复杂的WebService,不管多么复杂,整个流程都是这样的。
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" >
5 <head runat="server">
6 <title>Webservice调用实例</title>
7 </head>
8 <body>
9 <form id="form1" runat="server">
10 <div>
11 <asp:TextBox ID="Num1" runat="server"></asp:TextBox>
12 <select id="selectOper" runat = "server">
13 <option>+</option>
14 <option>-</option>
15 <option>*</option>
16 <option>/</option>
17 </select>
18 <asp:TextBox ID="Num2" runat="server"></asp:TextBox>
19 <span id = E runat = "server"></span>
20 <asp:TextBox ID="Result" runat="server"></asp:TextBox>
21 </div>
22 </form>
23 </body>
24 </html>
25
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" >
5 <head runat="server">
6 <title>Webservice调用实例</title>
7 </head>
8 <body>
9 <form id="form1" runat="server">
10 <div>
11 <asp:TextBox ID="Num1" runat="server"></asp:TextBox>
12 <select id="selectOper" runat = "server">
13 <option>+</option>
14 <option>-</option>
15 <option>*</option>
16 <option>/</option>
17 </select>
18 <asp:TextBox ID="Num2" runat="server"></asp:TextBox>
19 <span id = E runat = "server"></span>
20 <asp:TextBox ID="Result" runat="server"></asp:TextBox>
21 </div>
22 </form>
23 </body>
24 </html>
25
发表评论
-
UrlRewrite Filter下载 配置及如何使用【转】
2011-07-15 22:17 14331 下载地址:http://tuckey.org/urlre ... -
getOutputStream() has already been called for this response 解决
2011-04-25 11:35 919java.lang.IllegalStateException ... -
java web工程中获取根目录的方法[转]
2010-12-12 16:27 36291 若是在JSP或是servlet中要获得虚拟根目录的话, ... -
jsp 用urlrewrite 实现URL 重写【转】
2010-12-12 11:22 937是否看到别人的网站网址名都不带后缀名比较酷,比如qq空间的地址 ... -
构建高性能J2EE应用的十个技巧[转]
2010-12-12 11:04 764构建高性能的J2EE应用 ... -
session彻底删除和登录的session相关操作【原创】
2010-12-12 11:03 1038一般我们在做登陆的时候,是需要保持登陆者的一些信息的,登陆 ... -
利用jsp把数据导出到Excle【原创】
2010-12-12 10:34 1340jsp页面里面只需要: <%@ page l ... -
javamail乱码问题【转】
2010-12-11 22:34 1036所谓众口难调,但我 ... -
关于Action里面的跳转方式记录【原创】
2010-12-11 11:00 761我一直忘记了,反正常用的就是那两个吧 一个是: ret ... -
得到时间值java.text.SimpleDateFormat【原创】
2010-12-11 10:50 1064有时候在一些查询的后台,时间作为一个条件是必须的,我们要做 ... -
又一次解决了jsp中文乱码【原创】
2010-12-11 10:45 767这次和数据库有关。数据库里面是乱码,页面的也是乱码。 ... -
想在java文件里用request对象怎么办【原创】
2010-12-11 10:43 1330有时候我们想要在java文件里用request对象,不过j ... -
js跳转页面方法大全,onClick,history,location【转】
2010-12-11 10:38 1299<span id="tiao"> ... -
jsp页面缓存不更新问题解决【原创】
2010-12-11 10:37 2344最近做一个平台,在支付之后余额就会被扣除的,支付成果结果页 ... -
session和request set get Attribute的影响【原创】
2010-12-11 10:35 1139在很多情况下我们都需要封装些数据,以便能在页面跳转之间使用到。 ... -
iframe form 和target的讨论【转】
2010-12-11 10:34 1462刷新主页面中的其中一个iframe,其他内容不变 Soluti ... -
return的作用【原创】
2010-12-11 10:32 1044其实我一直对于return这个功能没有一种很明显的感受。反 ... -
防止浏览器缓存的jsp代码【原创】
2010-12-11 10:27 870//response.setHeader("Ca ... -
org.apache.jasper.JasperException: Invalid directive错误的解决【原创】
2010-12-11 10:24 2626很简单,是因为你的jsp页面引入文件的语句也就是那个几个标签可 ... -
jsp清除session的方法【原创】
2010-12-11 10:16 2461很难吗?不难,一点也难 session.removeAt ...
相关推荐
本文将详细介绍SSH1,2框架的搭建过程,并结合实例进行图解说明。 首先,我们来看Struts框架。Struts是MVC(Model-View-Controller)设计模式的实现,负责处理HTTP请求,控制应用程序流程。在SSH框架中,Struts作为...
2. **`service(ServletRequest request, ServletResponse response)`**:这是Servlet生命周期中最核心的方法,用于处理客户端的请求。 3. **`destroy()`**:在Servlet容器决定卸载Servlet时调用,允许Servlet执行...
- SOAP(Simple Object Access Protocol):解释SOAP协议的工作原理,它是Web Service通信的主要协议,基于XML的消息传递机制。 章节二:CXF实现Web Service - CXF框架介绍:CXF是一个开源的Java框架,用于构建和...
在本文中,我们将深入探讨如何在基于ADF的Java环境中为arcIMS 9.2开发自定义命令(Commands),并通过一个具体的实例来演示整个过程。arcGIS Server等系统常常基于ADF框架进行构建,这使得开发者能够更方便地利用ADF...
服务端环境通常涉及安装和配置Web服务器(如Tomcat)以及Web Services框架(如AXIS2)。在服务端,你需要将生成的服务端代码部署到Web服务器上,配置相应的端点地址,使得服务对外可用。客户端环境的搭建则包括引入...
- 使用WSDL(Web Service Description Language)文件生成客户端 stubs。这个文件描述了WebService的接口和服务地址。在Eclipse中,可以右键点击项目 -> New -> Other -> Web Service Client,然后输入WebService的...
2. **注入 Service**: 通过 Spring 注入 Service 实例到 Action 类中。 3. **配置 Action**: 在 struts-config.xml 中配置 Action 的执行路径。 #### 十一、配置声明式事务处理 1. **定义事务管理器**: 在 ...
你可以创建多个实例以实现高可用性和负载均衡。 3. **Cluster**:集群是WebLogic Server实例的集合,可以提高应用的可用性和性能。集群中的实例会共享应用程序和资源,当一个实例故障时,其他实例可以接管服务。 4...
2. **项目结构**:解释各层(如Web层、Service层、DAO层)的目录结构和文件布局。 3. **Struts2配置**:展示struts.xml中的配置元素,如Action配置、结果类型配置、拦截器链配置等。 4. **Spring配置**:解释beans....
2. **配置Spring**:创建ApplicationContext.xml配置文件,声明Bean实例,包括Struts的Action、Service和DAO,以及Spring的事务管理器。 3. **配置Hibernate**:配置hibernate.cfg.xml,设定数据库连接信息,以及...
* 服务实例(Instance):上述的一组工作负载中的每一个工作负载称为一个实例,比如:一个的 Web API 系统集群中的一个实例。 * 端点(Endpoint):对于特定服务所接收的请求路径,如 HTTP 的 URI 路径和 gRPC 服务...
2. **创建动态Web项目**:在Eclipse中,选择"File" -> "New" -> "Dynamic Web Project",输入项目名称,选择JRE版本和目标服务器(如Tomcat或Jetty),然后点击"Finish"。 3. **创建WebService类**:在项目中创建一...
2. **WebLogic部署结构**:WebLogic支持不同类型的部署单元,包括EAR(Enterprise Archive)、WAR(Web Application Archive)和JAR(Java Archive)文件。这些文件包含了应用程序的所有组件和资源。 3. **部署过程...
2. 创建数据库实例,用于QC9.0存储数据。推荐使用企业管理器(EM)或SQL*Plus创建。 3. 设置数据库安全选项,创建数据库用户并赋予相应的权限。 三、QC9.0安装 1. 下载QC9.0安装包,解压缩到本地目录。 2. 运行安装...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是一种常见的Java Web应用程序开发框架。SSH框架能够帮助开发者实现MVC(Model-View-Controller)设计模式,提高开发效率,同时提供良好的分层架构和数据持久化...
2. 在实现类中注入DAO层的实例。 #### 六、Struts & Spring集成 为了实现Struts与Spring的集成,需要配置Struts的Action类,使其能够通过Spring容器获取业务逻辑组件。 1. 在Struts配置文件中配置Action类。 2. ...
此外,`Mapxtreme for java 入门示例简单图解2`的压缩包很可能包含了更详细的步骤和示例代码,帮助你理解和实践Mapxtreme的Servlet使用。 总的来说,Mapxtreme for Java通过Servlet接口提供了一种高效且灵活的方式...
《ArcSDE9.3与Oracle10gR2安装配置详解》 ArcSDE作为Esri公司的空间数据引擎,是连接GIS系统与关系数据库的关键组件,尤其在9.3版本中,它提供了高效的数据管理和分布式操作能力。本文将详细阐述如何在Windows环境...