Web服务器是什么

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页面

<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(); }
}

编译一下

在IE里运行

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

再看一下cmd命令

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

使用TomCat

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

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

如果启动失败

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

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

我的是在c盘

也可以直接在startup.bat里

加上这个set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45

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启动成功

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会让输入用户名

TOMCAT的目录

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

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

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

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

在IE里输入

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

如果想不加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是

Servlet学习之web服务器Tomcat 详解的更多相关文章

  1. 于网站主机,DNS,域名解析,Web服务器关系详解

    /*本文将介绍网站主机,DNS,域名解析,Web服务器关系,转载请保留以下版权*/ /*启明星工作室 www.dotnetcms.org  提供会议室预定系统,请假系统,helpdesk,工作日志系统 ...

  2. Web服务器项目详解 - 00 项目概述

    目录 00 项目概述 01 线程同步机制包装类 02 半同步/半反应堆线程池(上) 03 半同步/半反应堆线程池(下) 04 http连接处理(上) 05 http连接处理(中) 06 http连接处 ...

  3. tomcat 加载顺序 web.xml文件详解

    一. 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Se ...

  4. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

  5. Java Web学习总结(19)——web.xml配置详解

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  6. [深入学习Web安全](5)详解MySQL注射

    [深入学习Web安全](5)详解MySQL注射 0x00 目录 0x00 目录 0x01 MySQL注射的简单介绍 0x02 对于information_schema库的研究 0x03 注射第一步—— ...

  7. Java web.xml 配置详解

    在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...

  8. web.xml文件详解

      web.xml文件详解 Table of Contents 1 listener. filter.servlet 加载顺序 2 web.xml文件详解 3 相应元素配置 1 listener. f ...

  9. web.xml 文件详解

    目录 1. web.xml各版本区别 2. web.xml配置详解 2.1 java web项目启动加载顺序 2.2 web.xml中定义的元素 web.xml文件是Java Web项目中的一个配置文 ...

随机推荐

  1. Java中的垃圾回收

    关于垃圾回收,主要是两个步骤: 垃圾对象的判断 垃圾对象的回收 垃圾对象的判断方法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何 ...

  2. XML语言基础1

    这学期选修了XML技术这门课,没有发课本,于是参考了W3school教程,整理一下上课的内容. 1.XML简介 XML是一种标记语言,很类似HTML,它不是对HTML的替代,而是对HTML的补充.在大 ...

  3. C#语句2——循环语句(for穷举、迭代和while循环)

    一.for循环拥有两类: (一).穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品.洗发水15元,香皂2元,牙刷5元. ...

  4. C# 和 C++ 数据类型对照表

    又要用C#调用C++写好的api函数,为了方便,将网上的数据类型做个整理,方便以后查找,以后遇到需要的在进行查找 C++ C#             WORD ushort     DWORD ui ...

  5. solrconfig.xml介绍

    说明:请务必先了解如下知识,否则阅读本文会晕. Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系 Solr通过三个主要文件来作配 ...

  6. 烂泥:vsftpd单用户多目录配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 一.实际问题 在使用vsftpd过程中,我们会经常发现vsftpd在默认情况下一个用户 ...

  7. 2------------NLPIR(ICTCLAS2016)分词系统添加用户词典功能

    备注:win7 64位系统,netbeans编程 基本代码框架参见我的另一篇文章:NLPIR分词功能 代码实现: package cwordseg; import java.io.Unsupporte ...

  8. xsd.exe的使用

    xsd.exe的使用 XML文件生成XSD文件 xsd myFile.xml   /outputdir:myOutputDir XSD文件生存实体类 xsd <你的XSD路径>.xsd / ...

  9. OpenStack 企业私有云的若干需求(9): 云管理平台 CMP

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  10. html特殊字符的html,js,css写法汇总

    ⇠  箭头类 符号 UNICODE 符号 UNICODE HTML JS CSS HTML JS CSS ⇠ &#8672 \u21E0 \21E0 ⇢ &#8674 \u21E2 \ ...