我做wap开发有一年多了,从最初的wap1.2到wap2.0,中国联通到中国移动,期间遇到问题林林总总,积累了不少经验,为让后来者少走一些弯路,特把自己的一些心得体会写出来供大家参考。
Wap程序可以用 Asp,Jsp,Php,Python 等开发,如果你不嫌麻烦,用C++也行。
由于笔者以前做web开发用的是Asp,所以开发平台选用的是Asp+Sql Server。但笔者建议不要使用Asp开发,因为在提交中文字符处理上,无论是Jsp还是Python都要比Asp方便得多,当然在Wap 2.0平台下Asp已经不存在此问题了,但是在近一年内Wap1.2浏览器的手机还是会占大多数,而且不管是中国联通还是中国移动提供的一些相关接口都是用Java开发的,不言而喻用Jsp开发会方便很多。最重要的是在性能方面jsp或.net都要优于Asp,所以笔者建议大家用Jsp/Asp.Net开发Wap。
下面我以Asp/Asp.net为例讲解:
1.1. 如何在IIS上建立Wap网站
1.1.1. 第一步:
创建一个站点文件夹 首先你要创建一个独立于你的主站点的新的站点文件夹(若站点是建立在同一个服务器上面的话),这样你下面要做的改动才不会影响别的站点。
1.1.2. 第二步:
在IIS 平台创建一个新的MIME类型 先选择WAP站点的属性,再加入MIME类型,然后选择HTTP Headers标签。
在MIME Map部分,点击File Type并且输入以下信息:
Associated Extension MIME Type
wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
wbmp image/vnd.wap.wbmp
wmlsc application/vnd.wap.wmlscriptc
wmls text/vnd.wap.wmlscript
wsc application/vnd.wap/wmlscriptc
完成以后,将会显示以下几种类型:
1.1.3. 第三步:
现在,你就可以把你的网站内容加到站点文件夹里面了。
1.2. Wap模拟器
Wap模拟器有很多,公认语法检测最严格的是m3gate,使用最方便的是opera.建议大家在测试程序时用m3gate,如果它没检查出问题,基本上在手机上就不会有问题;平常浏览的话就用opera(其实它就是一个网页浏览器,只不过它能够支持wml语法),它使用起来很方便,类似于IE操作。
1.3. 具体例子:
1.3.1. Asp
<% Response.ContentType ="text/vnd.wap.wml"%>
< xml version="1.0" encoding="gb2312" >
<!DOCTYPE wml PUBLIC "-//OPENWAVE.COM//DTD WML 1.3//EN" "http://www.openwave.com/dtd/wml13.dtd">
<wml>
<card title="Wap-Asp例子">
<p align="center"><img src="test.png" alt=""/></p>
<p>
<%
Response.Write("welcome")
%>
<br/>
<a href="http:// wap.uni-wise.com " title="确定">返回上级</a><br/>
</p>
<do type="options" label="回首页">
<go href="http://wap.uni-wise.com"/>
</do>
</card>
</wml>
1.3.2. Asp.Net
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Test_Wap.WebForm1" ContentType="text/vnd.wap.wml"%>
< xml version="1.0" encoding="gb2312" >
<!DOCTYPE wml PUBLIC "-//OPENWAVE.COM//DTD WML 1.3//EN" "http://www.openwave.com/dtd/wml13.dtd">
<wml>
<card title="<%=name%>">
<p align="center" mode="nowrap">
<%
Display();
%>
</p>
<do type="options" label="回首页">
<go href="http://wap.uni-wise.com"/>
</do>
</card>
</wml>
1.3.3. WebForm1.aspx.cs文件
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace Test_Wap
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected string name="Wap-Asp.Net例子";
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
protected void Display()
{
Response.Write("Welcome");
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
Wap上的业务,图铃下载类占了大部分,而且这两种业务的收入也占中国联通和中国移动Wap总收入80%还多,大家在此遇到的问题也最多.。
Wap程序可以用 Asp,Jsp,Php,Python 等开发,如果你不嫌麻烦,用C++也行。
由于笔者以前做web开发用的是Asp,所以开发平台选用的是Asp+Sql Server。但笔者建议不要使用Asp开发,因为在提交中文字符处理上,无论是Jsp还是Python都要比Asp方便得多,当然在Wap 2.0平台下Asp已经不存在此问题了,但是在近一年内Wap1.2浏览器的手机还是会占大多数,而且不管是中国联通还是中国移动提供的一些相关接口都是用Java开发的,不言而喻用Jsp开发会方便很多。最重要的是在性能方面jsp或.net都要优于Asp,所以笔者建议大家用Jsp/Asp.Net开发Wap。
下面我以Asp/Asp.net为例讲解:
1.1. 如何在IIS上建立Wap网站
1.1.1. 第一步:
创建一个站点文件夹 首先你要创建一个独立于你的主站点的新的站点文件夹(若站点是建立在同一个服务器上面的话),这样你下面要做的改动才不会影响别的站点。
1.1.2. 第二步:
在IIS 平台创建一个新的MIME类型 先选择WAP站点的属性,再加入MIME类型,然后选择HTTP Headers标签。
在MIME Map部分,点击File Type并且输入以下信息:
Associated Extension MIME Type
wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
wbmp image/vnd.wap.wbmp
wmlsc application/vnd.wap.wmlscriptc
wmls text/vnd.wap.wmlscript
wsc application/vnd.wap/wmlscriptc
完成以后,将会显示以下几种类型:
1.1.3. 第三步:
现在,你就可以把你的网站内容加到站点文件夹里面了。
1.2. Wap模拟器
Wap模拟器有很多,公认语法检测最严格的是m3gate,使用最方便的是opera.建议大家在测试程序时用m3gate,如果它没检查出问题,基本上在手机上就不会有问题;平常浏览的话就用opera(其实它就是一个网页浏览器,只不过它能够支持wml语法),它使用起来很方便,类似于IE操作。
1.3. 具体例子:
1.3.1. Asp
<% Response.ContentType ="text/vnd.wap.wml"%>
< xml version="1.0" encoding="gb2312" >
<!DOCTYPE wml PUBLIC "-//OPENWAVE.COM//DTD WML 1.3//EN" "http://www.openwave.com/dtd/wml13.dtd">
<wml>
<card title="Wap-Asp例子">
<p align="center"><img src="test.png" alt=""/></p>
<p>
<%
Response.Write("welcome")
%>
<br/>
<a href="http:// wap.uni-wise.com " title="确定">返回上级</a><br/>
</p>
<do type="options" label="回首页">
<go href="http://wap.uni-wise.com"/>
</do>
</card>
</wml>
1.3.2. Asp.Net
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Test_Wap.WebForm1" ContentType="text/vnd.wap.wml"%>
< xml version="1.0" encoding="gb2312" >
<!DOCTYPE wml PUBLIC "-//OPENWAVE.COM//DTD WML 1.3//EN" "http://www.openwave.com/dtd/wml13.dtd">
<wml>
<card title="<%=name%>">
<p align="center" mode="nowrap">
<%
Display();
%>
</p>
<do type="options" label="回首页">
<go href="http://wap.uni-wise.com"/>
</do>
</card>
</wml>
1.3.3. WebForm1.aspx.cs文件
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace Test_Wap
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected string name="Wap-Asp.Net例子";
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
protected void Display()
{
Response.Write("Welcome");
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
Wap上的业务,图铃下载类占了大部分,而且这两种业务的收入也占中国联通和中国移动Wap总收入80%还多,大家在此遇到的问题也最多.。