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, BaseHTTPRequestHandler
PORT_NUMBER = 8080
#This class will handles any incoming request from the browser
class myHandler(BaseHTTPRequestHandler):
#Handler for the GET requests
def do_GET(self):
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
# Send the html message
self.wfile.write(str.encode("Hello world from python."))
return
if __name__ == '__main__':
#Create a web server and define the handler to manage the incoming request
server = HTTPServer(('', PORT_NUMBER), myHandler)
print("Started httpserver on port: %s" % PORT_NUMBER)
#Wait forever for incoming htto requests
server.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>
<?php
echo "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。
vi设计http://www.maiqicn.com 办公资源网站大全https://www.wode007.com
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
下载链接
提取码:tq5u
3.2 phpLight
Web服务器绿色版本,不用安装,Windows下直接运行,支持Html/PHP网页服务,可用于日常开发调试或者显示一些网页内容。支持Html, PHP(5.3版本)。运行后,将Html或脚本文件放于解压后的"WWW"目录下即可通过浏览器访问,如访问:localhost/hello.html, localhost/hello.php