Web服务器
Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。
Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。
Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。无论它们的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。
1、软件的结构
1)C/S (Client - Server 客户端-服务器端)
典型应用:QQ软件 ,飞秋,红蜘蛛。
特点:
Ⅰ)必须下载特定的客户端程序。
Ⅱ)服务器端升级,客户端升级。
2)B/S (Broswer -Server 浏览器端- 服务器端)
典型应用: 腾讯官方(www.qq.com)、163新闻网站, 360网页(俗称:网站) 。javaweb的程序就是b/s软件结构。
特点:
Ⅰ)不需要安装特定的客户端(只需要安装浏览器即可!!)
Ⅱ)服务器端升级,浏览器不需要升级!!!!
2、服务器
从物理上来说,服务器就是一台PC机器。基本配置:8核,8G以上,T来计算,带宽100M。
1)web服务器:PC机器安装一个具有web服务的软件,称之为web服务器。
2)数据库服务器:PC机器安装一个具有数据管理服务的软件,称之为数据库服务器。
3)邮件服务器:PC机器安装一个具有发送邮件服务的软件,称之为邮件服务器。
3、web服务软件
1)web服务软件的作用:把本地的资源共享给外部访问。
2)常见的市面上web服务软件:
Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。
Jboss:是一个遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范(免费)。
Resin:是CAUCHO公司的产品,是一个非常流行的应用服务器,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发(收费,应用比较多)。
WebLogic:是Oracle公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。
4、java相关概念解释
JDK
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等
JRE
JRE(Java Runtime Environment,Java运行环境),也就是Java平台。所有的Java程序都要在JRE下才能运行。JDK的工具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是安装的一部分。所以,在JDK的安装目录下有一个名为jre的目录,用于存放JRE文件。
JVM
JVM(Java Virtual Machine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。
Tomcat服务器
开源小型web服务器 ,完全免费,主要用于中小型web项目,只支持Servlet和JSP 等少量javaee规范(就是JavaWeb编程接口)
apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet容器,可以认为是apache的扩展,处理动态网页部分。但是可以独立于apache运行。
1.tomcat服务器与servlet版本的关系
servlet:sun公司提供的用于开发动态web资源的技术。
jsp:(java server page),java提供的一门开发web网页的技术。
tomcat软件:java开发的。java软件运行的时候需要jdk。
在项目部署的时候,如果对于Web应用没有选择正确的Web服务器版本,应用可能不能正常运行。下图是根据官方给的Servlet/JSP各规范与Web服务器Tomcat各版本的对应关系整理的,如:支持Servlet 3.1、JSP 2.3规范的Web服务器为Tomcat 8.0.X
向下兼容。tomcat7也支持servlet3.0/jsp2.2规范,可以支持javaee6.0当前企业常用的版本 6.* / 7./8.
2.Tomcat基本使用
1)、下载并安装
A.到apache官网。www.apache.org http://jakarta.apache.org(产品的主页)
B.安装版:window (安装包格式:exe、msi) linux(安装包格式:rmp) ,一台电脑上只能安装一个Tomcat
C.压缩版:window(安装包格式:rar,zip) linux(安装包格式:tar,tar.gz),无需安装,解压即可用,解压多少份都可以
2)、运行和关闭
A.Tomcat启动需要使用JDK,所以需要配置JDK环境变量
右击“我的电脑”-->"高级"-->"环境变量"
JAVA_HOME:jdk的安装路径,如:C:\Program Files\Java\jdk1.6.0_30
classpath:java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径。
变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
path:系统在任何路径下都可以识别java,javac命令。变量值为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开)
验证jdk是否配置成功:打开控制台(cmd命令打开窗口)。输入java -version测试。
B.启动
a.startup.bat文件启动
进入tomcat的bin目录,找到startup.bat文件,双击即可; 会有一个黑窗口,黑窗口不要关闭。(如果关闭,相当于把tomcat停止了。)
在浏览器地址栏中输入:http://localhost:8080 或者 http://127.0.0.1:8080localhost ,如果看到如下页面,证明启动成功
b.命令行启动,将当前目录切换 到你tomcat目录\bin目录下
再执行“catalina run” 这个命令启动Tomcat
当Tomcat启动失败的时候,会有一闪而过的情况。
当我们使用catalina run 这个命令启动Tomcat的时候,哪怕有错误,我们也可以清楚的看到tomcat失败的原因。不会一闪而过。
C.关闭
第一种:Ctrl+C键 关闭Tomcat服务器
第二种:点击Tomcat窗口的右上角关闭按钮 (暴力停止服务器)
第三种:找到tomcat目录/bin/shutdown.bat文件,双击执行关闭Tomcat。
3)、配置tomcat的端口
8080: tomcat默认的端口
3306:mysql数据库的端口
1521: orace数据库的端口。
http的默认端口是80,如果访问的时候输入http://www.baidu.com相当于http://www.baidu.com:80。当真正在项目上线之后,通常采用80,修改方法如下:
A.找到tomcat目录/conf/server.xml
B.修改port的值,将port端口的值修改为80
C.然后在浏览器中输入 http://127.0.0.1:80 或 http://127.0.0.1 访问测试
4)、Tomcat的目录结构
bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat;
conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等;下面会详细介绍这个文件;
tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;
web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
context.xml:对所有应用的统一配置,通常我们不会去配置它。
lib:Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;
logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。
temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!
webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。
work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。
LICENSE:许可证。
NOTICE:说明文件。
更多详细介绍,请参见文章:https://blog.csdn.net/OnlyLove_longshao/article/details/53057381