Servlet学习之web服务器Tomcat 详解 Web服务器是什么 我们自己模拟一个web 服务器 使用TomCat TOMCAT的目录

Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。
Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。
Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。无论它们的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。 

在这里我只说一下Tomcat的使用和配置,如有兴趣可以自己看一下常用的web服务器

我们自己模拟一个web 服务器

Tomcat是一个很好的web服务器,它是怎么工作的呢,我们可以自己写一个简单的服务器

看一下

先写一个Html页面,我们要通过个服务器打,在IE里显示这个Html页面

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

<h1>Hello!<h1>

 下面开写一个简单的web服务器:

import java.io.*;
import java.net.*;

public class JavaWebService {
    public static void main(String arg[]) throws Exception
    {
        ServerSocket server=new ServerSocket(9999);
        System.out.println("等待连接.....");
        Socket socket=server.accept();
        OutputStream outStream=socket.getOutputStream();
        System.out.println("连接成功.....");
        BufferedReader bufferReader=new BufferedReader(new FileReader("D:\Hello.html"));
        String buf="";
        while((buf=bufferReader.readLine())!=null)
        {
            outStream.write(buf.getBytes());            
        }
        bufferReader.close();
        outStream.close();
        socket.close();
        
    }
}

编译一下

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

在IE里运行

我们自己的web服务器在IE上显示Hello! 

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

再看一下cmd命令

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

这是一个很简单的web服务器的小例子,只是解释一下tomcat web服务器的原理。

使用TomCat

启动TomCat 是在bin目录下的startup.bat

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

这里要说明一下看一下自己的系统是32位的还是64位,要针对系统下不现版本的tomcat

如果启动失败

查看Log目录下的日志,看是什么问题导致服务没有打开一般情况有下边两种

1.在启动之前要先确定我的电脑 环境变量里是否已把JAVA_HOME配置好

我的是在c盘

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

也可以直接在startup.bat里

加上这个set JAVA_HOME=C:Program FilesJavajdk1.7.0_45

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

2.是不是端口被占用8081

用cmd命令netstat -anb查看是哪个程序把端口占用了

  <Connector port="8081" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

把8081端口修改一个

a

Tomcat 要进入Manager App和Host Manager需要权限 

 <role rolename="manager-gui"/>
  <role rolename="admin-gui"/> 
  <user username="admin" password="admin" roles="manager-gui,admin-gui"/>

测试Tomcat

在IE中输入http://localhost:9081/能进入说明我们的Tomcat启动成功

 Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

Tomcat 要进入Manager App和Host Manager需要权限 

在conf目录下的tomcat-users.xml加上

  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/> 
  <user username="admin" password="admin" roles="manager-gui,admin-gui"/>

重新启动一下Tomcat点击Host Manager会让输入用户名

 Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

TOMCAT的目录

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

主要说一下webapps目录和work目录

webapps目录 :在这个目录下,放置web应用

如我们放把之前的Hello.html页面放到里面

我们在webapps里建一个HelloWeb文件夹,把Hello.html放到里面,启动tomcat

在IE里输入

http://localhost:9081/HelloWeb/Hello.html

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

如果想不加Hello.html就显示出来可以 这个么

新建一个文建夹WEB-INF

在里边建一个web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">  

 <welcome-file-list>
    <welcome-file>Hello.html</welcome-file>
 </welcome-file-list>
</web-app>

 再在IE里输入

http://localhost:9081/HelloWeb/

也会看到这个页面

work目录

用于存放jsp对应的servlet文件和.class文件

这个图是我在eclipse里写的一个jsp页面

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录

它对应的servlet是

Servlet学习之web服务器Tomcat 详解
Web服务器是什么
我们自己模拟一个web 服务器
使用TomCat
TOMCAT的目录