Web服务常用的几种开发方法

1.概述

Web服务,即通过程序实现网页服务,服务启动后,一般用户可通过访问URL获取到网站提供的网页服务,如网页浏览、留言、商品购买等。开发Web服务的技术有很多,有Java、Python、ASP.NET、脚本语言等,其中常用的脚本语言有ASP、ASPX、JSP、PHP。下面对这些Web服务开发技术作一个简单介绍。

开发技术 推出年代 文件后缀 发展趋势
Java 1996年 .war/.jar
Python 1991年 .py
ASP 1996年 .asp 一般
ASP.NET 2001年 .aspx/.asmx
JSP 1999年 .jsp 一般
PHP 1997年 .php 一般
Perl 1987年 .pl/.pm 一般

2.常用Web服务开发技术

2.1 Java

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。

Java开发Web服务功能强大,一般用于企业级应用Web服务开发,目前主流的开发架构为Spring Boot、Spring Cloud、Spring Web MVC、
SSM(Spring+SpringMVC+Mybatis)等,编译后Web服务程序可以为war包或jar包,war包一般采用Tomcat进行部署运行,jar包可以直接采用Java命令行运行。运行后,用户访问发布该服务器的IP及端口号即可访问部署的Web服务。

Java创建Web服务,可以使用IDEA开发工具,新建项目并创建相应的类、运行,具体可参见:spring boot介绍以及helloworld项目

典型Hello world代码示例:

@RestController
public class HelloController {@RequestMapping("/hello")public String hello(String name) {return "hello world from Java.";}
}

2.2 Python

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。目前Python典型的Web开发框架有Django、Flask、Tornado等。

Python的初次发行时间为1991年。

典型开发过程如下:

1.安装Python,可参考廖雪峰的官方网站安装Python

2.安装web模块
打开命令行窗口,转到工作目录 ,输入:pip install web.py

3.生成Python文件
新建一个文件hello.py,按上面内容输入,保存。

4.启动Web服务
运行:python hello.py

5.访问服务
打开浏览器,输入"localhost:8080",网页中会显示出"Hello world from python."。

典型Hello world代码示例:

#!/usr/bin/python
from http.server import HTTPServer, BaseHTTPRequestHandlerPORT_NUMBER = 8080#This class will handles any incoming request from the browser
class myHandler(BaseHTTPRequestHandler):#Handler for the GET requestsdef do_GET(self):self.send_response(200)self.send_header('Content-type','text/html')self.end_headers()# Send the html messageself.wfile.write(str.encode("Hello world from python."))returnif __name__ == '__main__':#Create a web server and define the handler to manage the incoming requestserver = HTTPServer(('', PORT_NUMBER), myHandler)print("Started httpserver on port: %s" % PORT_NUMBER)#Wait forever for incoming htto requestsserver.serve_forever()

2.3 ASP

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本置标语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。

ASP简单、易于维护 , 是小型页面应用程序的选择,在使用DCOM (Distributed Component Object Model)和 MTS(Microsoft Transaction Server)的情况下,ASP甚至可以实现中等规模的企业应用程序。

Microsoft公司于1996年推出ASP。

典型Hello world代码示例:

<html><head><title>Test ASP Page</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><%="Hello world from ASP page."%><br><% response.write("Hello world from ASP page.") %></body>
</html>

2.4 ASP.NET

ASP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。

ASP.NET具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。在代码撰写方面特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示的内容,让丰富多彩的网页更容易撰写。同时使程序代码看起来更洁净、更简单。

2001年,ASP.NET浮出水面。它最初的名字为ASP+,后来改为ASP.NET。ASP.NET是微软公司开发的一种建立在.NET之上的Web运行环境,它不是ASP的简单升级,而是新一代的Active Server Pages。ASP.NET是微软公司新体系结构Microsoft.NET的一部分,其中全新的技术架构使编程变得更加简单。借助于ASP.NET,可以创造出内容丰富的、动态的、个性化的Web站点。ASP.NET简单易学、功能强大、应用灵活、扩展性好,可以使用任何.NET兼容语言。

典型Hello world代码示例:

<html><head><title>Test HTML Page</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><%@ Page Language="C#"%><% Response.Write("Hello world from ASPX."); %></body>
</html>

2.5 JSP

JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

典型Hello world代码示例:

<html><head><title>Test JSP Page</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><%out.println("Hello world from JSP page.");%></body>
</html>

2.6 PHP

PHP原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”,即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法,利于学习,使用广泛,主要适用于Web开发领域。

PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。但随着互联网的不断更新换代,PHP语言也出现了不少问题。 根据动态网站要求,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,其技术水平的优劣与否将直接影响网站的运行效率。其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。同时,PHP语言具有较高的数据传送处理水平和输出水平,可以广泛应用在Windows系统及各类Web服务器中。如果数据量较大,PHP语言还可以拓宽链接面,与各种数据库相连,缓解数据存储、检索及维护压力。随着技术的发展,PHP 语言搜索引擎还可以量体裁衣,实行个性化服务,如根据客户的喜好进行分类收集储存,极大提高了数据运行效率。

1997年11月1日PHP推出了首个发行版。

典型Hello world代码示例:

<html><head><title>Test PHP Page</title></head><body><?phpecho "Hello World from PHP page. \n";?></body>
</html>

2.7 Perl

Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。
Perl借取了C、sed、awk、shell脚本语言以及很多其他程序语言的特性,其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,Perl像C一样强大,像awk、sed等脚本描述语言一样方便,被Perl语言爱好者称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix中的王牌工具”。

1987年Larry Wall发布Perl1.0。

3.Web服务器绿色版本下载

本文提供从网上 收集的Web服务器绿化版本,不用安装,直接运行就能提供Web服务,并支持常用的脚本语言,方便大家调试。不过,这些版本的服务器,一般只用于简单的测试或个人开发,不用于商用,商用的话,还有考虑安全性、效率等因素,一般会采用更专业的服务器软件如Tomcat、IIS等。

3.1 MyWebServer

Web服务器绿色版本,不用安装,Windows下直接运行,支持Html/ASP/PHP网页服务,可用于日常开发调试或者显示一些网页内容。支持Html, ASP, PHP(5.2版本)。运行后,将Html或脚本文件放于解压后的"web"目录下即可通过浏览器访问,如访问:localhost/hello.html, localhost/hello.asp, localhost/hello.php
下载链接(https://pan.baidu.com/s/1pPwqE5MvYX2S_VU_Zirffg 提取码:tq5u)

3.2 phpLight

Web服务器绿色版本,不用安装,Windows下直接运行,支持Html/PHP网页服务,可用于日常开发调试或者显示一些网页内容。支持Html, PHP(5.3版本)。运行后,将Html或脚本文件放于解压后的"WWW"目录下即可通过浏览器访问,如访问:localhost/hello.html, localhost/hello.php
下载链接(https://pan.baidu.com/s/1Eh2giw3e6A3-XTAx3KOAsw 提取码:fjef)

Web服务常用的几种开发方法相关推荐

  1. 前端常用60余种工具方法(上)

    1.邮箱 export const isEmail = (s) => {return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2, ...

  2. 使用android开发移动学习平台_移动学习平台有几种开发方法,你造吗?

    平板电脑.软件以及宽带互联网的接入等技术都在发生改变,为固定式学习转向移动式学习提供了强大的动力.因此,移动学习越来越火热.那么,移动学习平台有几种开发方法? 基于现有的移动平台和设备,主要有三种开发 ...

  3. Linux忘记密码常用的几种解决方法

    Linux忘记密码常用的几种解决方法 参考文章: (1)Linux忘记密码常用的几种解决方法 (2)https://www.cnblogs.com/vurtne-lu/p/6550590.html 备 ...

  4. 通过ID查询一个用户的两种开发方法

    通过ID查询一个用户的两种开发方法 数据库建表sql语句如下:https://github.com/beyondyanyu/Sayingyy/blob/master/JDBC2-数据库sql建表语句 ...

  5. WinCE程序的几种开发方法

    文章允许转载,请注明出处和作者:luocq(akay_21cn_com) 下面介绍的几种开发方法,还是倾向于Delphi的程序员,如果是熟练的VC程序员,当然VC是不二的选择. 1.采用Delphi2 ...

  6. 前端常用60余种工具方法(下)

    前端常用60余种工具方法(上) 41.将数字转换为大写金额 export const changeToChinese = (Num) => {//判断如果传递进来的不是字符的话转换为字符if ( ...

  7. python中常用的九种预处理方法

    本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal ...

  8. ps抠图基础篇:最常用的四种抠图方法

    ps抠图基础篇:最常用的四种抠图方法 一.善用魔术棒法 用魔法帮抠图是最直观明了的抠图方法,也是最基础的抠图方法,适用范围是图像和背景色差非常明显,背景颜色单一,图像边界清晰. 魔法棒抠图就是通过删除 ...

  9. 颗粒物检测仪常用的三种检测方法

    颗粒物检测仪的测量原理:仪器由组装好的传感器和数据处理器组成.传感器是本装置数据采集的重要部件,原理是将激光束通过非球面镜组变为功率密度均匀分布的细小测量光束,在光束道的侧前方,前方焦点对准光束道,后 ...

最新文章

  1. Py之xlwt:python库之xlwt的简介、安装、使用方法之详细攻略
  2. [渝粤教育] 西南科技大学 基础工业工程 在线考试复习资料
  3. createjs中shape的属性regX和regY
  4. implicit request ?
  5. fastText初探
  6. Android布局_LinearLayout布局
  7. 如何导出android studio程序,(技术)聊聊Android Studio 如何生成Jar
  8. 随想录(程序调试与dll注入)
  9. java 类型通配符_java中泛型之类型通配符(?)
  10. android-getTextSize返回值是以像素(px)为单位的,setTextSize()以sp为单位
  11. 三星android版本升级包下载,三星oneui3.0系统
  12. OTSU算法实现二值化
  13. c语言实现二阶行列式计算,新手作品:行列式计算C语言版
  14. 虾皮运营-shopee台湾站实战教程
  15. 解决:RN和H5之间通信
  16. 支持向量机_4:Outliers
  17. Geoffrey Hinton
  18. 个人app开发之找亮点
  19. 小米air2se耳机只有一边有声音怎么办_169元,性价比超高,小米蓝牙耳机Air2 SE,C位出道...
  20. Mybatis中column用法

热门文章

  1. 实验二 双绞线的制作与应用
  2. 发给联想集团CEO杨元庆的一封公开信
  3. 烤羊肉串“好巴郎”阿里木回乡代言民族团结
  4. 图片格式jpg,gif,png-8,png-24的区别,及其各自的使用场景
  5. {Samsung K9F1208U0B,NAND_MFR_SAMSUNG, 0x76, 26, 0, 3, 0x4000, 0}的分析
  6. 选择了兄弟连,我不会后悔
  7. oracle游离态,突然就处于游离态了。
  8. UPS及机房环境一体监控及告警解决方案
  9. Nested exception: The processing instruction target matching [xX][mM][lL] is not allowed.
  10. linux服务器CPU飙高排查