• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#中调用Servlet示例

C#中调用Servlet示例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了servlet示例,c#访问servlet,jsp调用servlet实例,jsp调用servlet,ajax调用servlet等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

需求

通用消息接口使用servlet作为服务器端服务接口,第三方应用程序通过http post的方式调用servlet,实现与通用消息接口的调用连接。
参数说明如下:
msgTitle:消息标题,描述发送消息的标题
serviceId:服务编号,消息的服务编号
msgDesp:消息描述,消息的详细内容
msgURL:URL地址,消息中包含的 URL
上述4个参数的参数值可以为空,但参数必须提供。

调用示例

下面一段简单的html代码,描述了如何通过网页进行调用通用消息接口的模式,供参考。
<html><head><title>Sametime通用消息服务</title>
</head><body>
<formaction="http://stproxy.test.foton.com:9080/
fotonstbot/ServiceServlet" method="post">name="msgTitle" /><br />
服务编号: <input type="text" id="serviceId" name="serviceId" /><br />
消息描述:  <input type="text" id="msgDesp" name="msgDesp" /><br />
URL:   <input type="text" id="msgUrl" name="msgUrl" /><br />
系统类型:   <input type="text" id="sysType" name="sysType" /><br />
目标用户:  <input type="text" id="targetuser" name="targetuser" style="width:500px;" /><br />
<input type="submit" value="Submit" />
</form>
</body></html>
</div>

C#调用示例
/// <summary>
/// sametime
/// </summary>
/// <param name="bstrReceiver">sametime用户</param>
/// <param name="bstrTitle">标题</param>
/// <param name="lDelayTime">响应时间</param>
/// <param name="bstrMsg">内容</param>
public static void SendNotify(string bstrReceiver, string bstrTitle, int lDelayTime, string bstrMsg)
{
    string user="";
    try {
        String url = "http://stproxy.foton.com.cn:9081/fotonstbot/ServiceServlet";//html调用的地址              
        HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
        if(webrequest==null)
        {
            RecorderErrorRtx(bstrReceiver,bstrTitle,bstrMsg,"服务端异常",0);
            return;
        }
        webrequest.Method = "POST";
        webrequest.Timeout = lDelayTime;
        webrequest.ContentType = "application/x-www-form-urlencoded";
        byte[] bufferTitile = Encoding.GetEncoding("utf-8").GetBytes(bstrTitle);       
        string sbTitle = "";
        foreach (byte b in bufferTitile) sbTitle=sbTitle+(string.Format("%{0:X}", b));
        byte[] bufferContent = Encoding.GetEncoding("utf-8").GetBytes(bstrMsg);
        string sbContent = "";
        //UTF8注意转码
        foreach (byte b in bufferContent) sbContent=sbContent+(string.Format("%{0:X}", b));
        System.Collections.Hashtable pars=new System.Collections.Hashtable();
        pars.Add("msgTitle", sbTitle);
        pars.Add("serviceId", "");
        pars.Add("msgDesp",  sbContent);
        pars.Add("msgUrl", "");
        pars.Add("sysType", "QCTS");
        user="uid="+bstrReceiver+",cn=users,DC=FOTON;";
        pars.Add("targetuser", user);
        string buffer="";
        //发送POST数据 
        if (!(pars == null || pars.Count == 0))
        {

            foreach (string key in pars.Keys)
            {
                buffer=buffer+"&"+key+"="+pars[key].ToString();                
            }
            byte[] data = Encoding.UTF8.GetBytes(buffer);
            using (Stream stream = webrequest.GetRequestStream())
            {
                stream.Write(data, 0, data.Length);
            }
        }

        string[] values = webrequest.Headers.GetValues("Content-Type");
        WebResponse myResponse= webrequest.GetResponse();

        using(Stream resStream = myResponse.GetResponseStream())//得到回写的流
        {
            StreamReader newReader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
            string Content = newReader.ReadToEnd();        
            newReader.Close();
        }
        RecorderRtx(user,bstrTitle,bstrMsg,0);

    }

    catch(Exception ex)
    {
        RecorderErrorRtx(user,bstrTitle,bstrMsg,ex.Message,0); 
    }                                              
}
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#中调用Servlet示例

相关文章

  • 2017-05-28字符串转换成枚举类型的方法
  • 2017-05-28c# 数据类型占用的字节数介绍
  • 2017-05-28基于C#方法重载的总结详解
  • 2017-05-28C#实现将浮点数表示的货币数量以汉字大写形式输出的方法
  • 2017-05-28C#通过yield实现数组全排列的方法
  • 2017-05-28C#中实现Fluent Interface的三种方法
  • 2017-05-28C# 手动/自动保存图片的实例代码
  • 2017-05-28C#生成Word文档代码示例
  • 2017-05-28C#特性之匿名方法和Lambda表达式
  • 2017-05-28C#调用存储过程详解(带返回值、参数输入输出等)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c# 中 DBNull.Value和Null 区别
    • 深入理解C# abstract和virtual关键字
    • C#基础语法:as 运算符使用实例
    • c#数据绑定之向查询中添加参数(.Net连接外部数据库)
    • 关于C#基础知识回顾--反射(三)
    • C#实现的文件操作封装类完整实例【删除,移动,复制,重命名】
    • 解决C#全屏幕截图的实现方法
    • c#对象初始化顺序实例分析
    • 无法从 int? 转换为 int 运行时出现错误
    • C#实现获取系统目录并以Tree树叉显示的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有