1:Web开发的基本概念:
当我们打开浏览器访问的每一个网站 每个网站都可以看作是一个独立的Web,它由多个互相链接的网页组成 而WEB网页开发又包括静态Web和动态Web两种类型;
静态Web:静态网页由HTML、CSS和JavaScript组成,内容在服务器上生成后不会改变,用户每次请求相同的页面,服务器都会返回相同的内容,静态网页通常用于内容不经常更新的网站,如个人简历或宣传页面。静态网页就像一张图片,内容是固定的,不会随用户的行为而改变。它主要用HTML、CSS和JavaScript来创建。
静态web的执行过程:
在静态WEB程序中,客户端使用WEB浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给WEB服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过WEB服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。
动态Web:动态网页使用服务器端语言(如 Python、Java)和后端数据库技术(如MySQL、PostgreSQL、MongoDB等)来生成内容,内容会根据用户请求、数据库查询结果或服务器端逻辑实时生成,动态网页适用于需要用户交互、内容经常更新的网站,如电子商务网站、或社交媒体平台。动态网页会根据用户的操作或数据库中的数据实时变化,就像一个可以互动的游戏。它需要服务器端编程语言和数据库来实现;
动态网页执行过程:
动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Request),现在的所有请求都先经过一个WEB Server Plugin(服务器插件)来处理,此插件用于区分是请求的是静态资源(*.htm或者是*.htm)还是动态资源。
如果WEB Server Plugin发现客户端请求的是静态资源(*.htm或者是*.htm),则将请求直接转交给WEB服务器,之后WEB服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。
如果WEB Server Plugin发现客户端请求的是动态资源(*.jsp、*.asp/*.aspx、*.php),则先将请求转交给WEB Container(WEB容器),在WEB Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送回客户端浏览器进行解析执行。
2: Web 服务器技术 :
Web服务器主要用于处理客户端(通常是网页浏览器)的请求,并提供网页内容、文件或其他资源 : 当用户在浏览器中输入网址或点击链接时,浏览器会向Web服务器发送HTTP请求。Web服务器接收到请求后,根据请求的URL确定需要提供的内容,并返回相应的文件或数据。
在讲解Web服务器之前 先认识一下目前主流的 服务器脚本语言:
常用的服务器脚本语言:
服务器脚本语言和Web服务器之间是相互依赖的。服务器脚本语言用于创建动态内容,而Web服务器则负责提供这些内容给客户端 ;
ASP、JSP 等..都是服务器端脚本语言 它们都用于在服务器上执行代码,以生成动态网页内容,并响应客户端的请求。在选择ASP或JSP时,开发者需要考虑项目需求、团队熟悉度、预期的扩展性以及维护成本等因素。
ASP :
由微软开发 主要运行在Windows服务器上,ASP 通常与IIS 和 Web服务器一起使用 可以使用VBScript或JScript(Microsoft的JavaScript版本)作为脚本语言 ASP 允许内嵌脚本或引用可重用的组件对象 并且ASP.NET是ASP的继承者,提供了更强大的功能和.NET框架的支持。 ASP默认使用 VBScript或JScript 作为其默认脚本语言,同时支持其他如Python或Perl等第三方语言:
ASP语法示例:
// 该页面显示当前的时间和日期
<%@ Language=VBScript %>
// <%@ Language=VBScript %>
指定了该ASP页面使用VBScript作为脚本语言。
<%
' 定义变量来存储当前日期和时间
Dim currentDateTime
' 获取当前的日期和时间
currentDateTime = Now()
// Now()
是一个VBScript函数,用于获取当前的日期和时间。%>
<html>
<head>
<title>ASP 示例</title>
</head>
<body>
<h1>欢迎来到ASP示例页面</h1>
<p>当前的日期和时间是: <%= currentDateTime %></p>
</body>
</html>
特点:
- 开发简便:ASP使用VBScript或JScript等简单易学的脚本语言,快速开发动态网页。
- 集成环境:与微软的Visual Studio集成,提供强大的开发和调试工具。
- 数据库连接:易于与Microsoft SQL Server等数据库集成。
- 社区支持:尽管ASP较旧,但依然有一个成熟的开发者社区。
缺点
- 跨平台能力:ASP主要设计用于Windows平台,跨平台能力有限。
- 性能问题:相比现代技术,ASP可能在性能上存在局限。
- 安全性:若不当使用,ASP应用可能容易受到SQL注入等安全威胁。
- 技术过时:ASP技术相对过时,微软已经推出了ASP.NET作为其继承者。
IIS服务器:
IIS 是微软提供的免费Web服务器软件,它是Windows操作系统的标准网站服务器组件。IIS为ASP提供运行环境,能够解析ASP文件,执行其中的脚本,并将生成的HTML内容发送给客户端浏览器。此外,IIS不仅支持网页浏览服务,还能通过FTP、SMTP等协议提供文件传输、邮件发送等其他网络服务。IIS的强大功能之一是能够为单一主机配置多个IP地址,并管理多个域名,从而实现一台服务器上运行多个网站的能力。
作为Windows 2000 Server系列操作系统的一个组件,IIS与操作系统紧密集成,类似于系统驱动程序,在系统启动时可以自动运行。IIS 5.0是为Windows 2000 Server设计的网络和应用程序服务器,通过HTTP协议传输信息,并可配置以提供FTP、NNTP、SMTP等服务。IIS最初是Windows NT的可选组件,后来版本被内置在包括Windows 2000、Windows XP Professional和Windows Server 2003在内的多个Windows版本中,但Home版除外。
IIS包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,极大地简化了在网络上发布信息的过程。IIS支持ASP,而Apache服务器则支持PHP;两者都可以通过安装额外的软件来扩展对其他编程语言的支持。在Windows平台上,IIS以其简单易用著称,提供了与其他服务器软件如Netscape服务器、Apache for Windows等相比肩的功能丰富的服务。
IIS 5.0完全集成于Windows 2000 Server中,提供了比以往版本更可靠的服务和更集成化的管理。在安全方面,IIS 5.0引入了摘要式身份验证、安全通信、服务器网关加密等新特性,并兼容Kerberos 5.0身份验证协议,支持证书存储和Fortezza。IIS 5.0还支持WebDAV和ASP,并提供了两种管理工具:用于MMC(Microsoft Management Console)的Internet Service Manager外接程序,以及基于Web浏览器的Internet Service Manager。
IIS的主要用途涵盖网页浏览、文件传输、新闻服务和邮件发送等。关于IIS的资源消耗,它作为一个Web服务器,包含了Gopher和FTP服务器的功能,并支持ASP、Java和VBScript等动态页面技术。IIS允许在同一时间内打开的网站页面数由服务器配置的并发连接数决定,每个打开的页面或站内框架页面都会占用IIS资源。尽管如此,考虑到同时有大量页面被打开的概率较低,IIS的资源消耗通常可以满足大多数网站的需求,除非网站内容被盗链或框架引发额外消耗;
JSP/Servlet:
由Sun 公司(现属于Oracle)开发 JSP运行在支持Java EE(的服务器上,如Tomcat、GlassFish等 JSP使用Java作为脚本语言,页面中的Java代码在服务器端执行。JSP页面最终被编译成Servlet,适用于需要复杂业务逻辑和企业级应用的大型项目。
并且提供了2种不同的系统架构模式:
- BS架构: 它依赖于Web浏览器作为客户端 而JSP直接生成用户通过浏览器查看的内容,与用户交互紧密。
- CS架构: CS架构依赖于在用户设备上运行的客户端应用程序与服务器之间的交互 JSP通常作为后端服务的一部分,与客户端应用程序交互,而不是直接生成用户界面。
JSP语法示例:
// 该页面显示当前的时间和日期
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
// <%@ page ... %>
指令用于指定JSP页面的属性,如使用的编程语言、内容类型和页面编码。<!DOCTYPE html> <html> <head> <meta charset="UTF-8">
// <!DOCTYPE html>
声明了文档类型,告诉浏览器这是一个HTML5文档。<title>简单的JSP示例</title> </head> <body>
<h1>欢迎来到JSP示例页面</h1>
<p> 当前的系统时间是: <%=new java.util.Date()%></p>
</body>
</html>
特点:
- 跨平台:JSP作为Java EE的一部分,可在任何支持Java的平台上运行。
- 可重用性:JSP支持使用JavaBean等组件,提高了代码的重用性。
- 企业级应用:适合构建大型和复杂的企业级Web应用。
- 安全性:Java平台提供的安全特性,如垃圾回收和异常处理,有助于创建安全的Web应用。
缺点:
- 学习:对于新手,Java语言和JSP的复杂性可能导致较陡峭的学习曲线。
- 性能:虽然JSP性能良好,但与PHP等相比,可能在某些情况下性能不是最优。
- 开发速度:相比于一些更现代的框架,JSP的开发速度可能较慢。
- 资源消耗:Java应用服务器通常需要更多的资源,特别是在小规模应用中。
Tomcat服务器 :
Tomcat是由Apache软件基金会旗下的Jakarta项目培育出的核心软件,它是由Apache社区、Sun Microsystems(现为Oracle Corporation的一部分),以及其他组织和个人共同开发的成果。得益于Sun的参与,Tomcat始终保持与最新的Servlet和JSP规范同步,例如,Tomcat 5就支持了当时的Servlet 2.4和JSP 2.0规范。Tomcat以其先进的技术、稳定的性能,加上免费的优势,赢得了Java开发者的喜爱,也被一些软件开发商所认可,成为了广受欢迎的Web应用服务器之一。
作为一个轻量级的免费开源Web应用服务器,Tomcat特别适用于中小型系统和用户并发量不大的环境,并且是开发和调试JSP程序的理想选择。对于初学者来说,可以想象一下,如果一台机器上已经配置好了Apache服务器,那么它就可以处理HTML页面的访问请求。而Tomcat则可以视为Apache服务器的一个扩展,尽管它在运行时是独立于Apache的,作为一个单独的进程运行。
正确配置后,Apache服务器负责提供HTML页面服务,Tomcat则负责执行JSP页面和Servlet。Tomcat具备处理HTML页面的能力,但它主要的功能是作为一个Servlet和JSP容器,这也是Tomcat的默认运行模式。尽管Tomcat可以处理静态内容,但它在这一方面的效率通常不如专业的Web服务器,如Apache。目前,Tomcat的最新稳定版本是10.0.23。
简而言之,Tomcat是一个强大而灵活的Web应用服务器,它特别适合需要快速开发和部署动态Web应用的场合,同时也是学习和实验Java EE技术的优秀平台。特别针对初学者学习web来说他是一个最好的选择;
1: 安装Tomcat:
Tomcat作为一个运行Java Web应用的平台,必须在Java环境下运行,这是因为Tomcat是用Java写的,并且它执行的是Java的Servlet和JSP规范。想象一下,如果你想要运行一个用特定编程语言写的程序,你的计算机上必须有这种语言的运行环境,对吧?对于Tomcat来说,这就是Java。
首先先检查JDK是否安装;
如果没有安装的同学这里有一个网站 按照步骤进行:
进入Tomcat官网
对应版本安装:左侧Download下面是Tomcat最新的几个版本 (建议不要使用最新的 )
下载完成以后 这个压缩包是免安装的,直接解压到我们对应文件目录。记住这个安装目录,后面配置环境变量都是用的这个目录。
这里我们可以在对应磁盘下 创建一个文件 然后将文件解压到这个目录
可以选择手动打开 tomcat 10 文件 bin 目录运行 bin目录的startup.bat文件
运行成功:
输入网址: localhost:8080 访问成功 启动完成
然后配置Tomcat的环境变量:
新建系统变量页面,填入tomcat的系统变量信息
变量名:CATALINA_HOME (这个可以一样的)
变量值:安装tomcat的路径(C:\Tomcat10\apache-tomcat-10.1.24) 这个地址是你们自己的安装地址 别和我一样
新建CATALINA_TMPDIR变量
变量名:CATALINA_TMPDIR
变量值:C:\Tomcat10\apache-tomcat-10.1.24\temp 对应自己的安装地址后面加上\temp
在系统变量下找到path:
变量名:Path
变量值:C:\Tomcat10\apache-tomcat-10.1.24\bin
打开Path
打开 cmd 黑窗口 输入startup 出现 我们之前手动打开bin 目录的窗口表示 环境变量配置成功
输入浏览器地址 localhost:8080访问成功
未完待续....