Servlet学习之web服务器Tomcat 详解
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 详解的更多相关文章
- 于网站主机,DNS,域名解析,Web服务器关系详解
/*本文将介绍网站主机,DNS,域名解析,Web服务器关系,转载请保留以下版权*/ /*启明星工作室 www.dotnetcms.org 提供会议室预定系统,请假系统,helpdesk,工作日志系统 ...
- Web服务器项目详解 - 00 项目概述
目录 00 项目概述 01 线程同步机制包装类 02 半同步/半反应堆线程池(上) 03 半同步/半反应堆线程池(下) 04 http连接处理(上) 05 http连接处理(中) 06 http连接处 ...
- tomcat 加载顺序 web.xml文件详解
一. 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Se ...
- 《Tomcat与Java Web开发技术详解》思维导图
越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...
- Java Web学习总结(19)——web.xml配置详解
1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...
- [深入学习Web安全](5)详解MySQL注射
[深入学习Web安全](5)详解MySQL注射 0x00 目录 0x00 目录 0x01 MySQL注射的简单介绍 0x02 对于information_schema库的研究 0x03 注射第一步—— ...
- Java web.xml 配置详解
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...
- web.xml文件详解
web.xml文件详解 Table of Contents 1 listener. filter.servlet 加载顺序 2 web.xml文件详解 3 相应元素配置 1 listener. f ...
- web.xml 文件详解
目录 1. web.xml各版本区别 2. web.xml配置详解 2.1 java web项目启动加载顺序 2.2 web.xml中定义的元素 web.xml文件是Java Web项目中的一个配置文 ...
随机推荐
- Bigfish的重新安装
昨天把ofbiz安装并成功运行起来,今天接着再把bigfish下载下来. 上次安装配置bigfish时,记得是费了一番周折的,最后也不知道怎么瞎折腾,最终居然跑起来了. 今天有意识整理了下关键步骤,记 ...
- Zookeeper 服务注册和发现
Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理 ...
- mysql-2 mysql客户端
mysql 官方客户端 MySQL-Workbench 下载链接http://dev.mysql.com/downloads/workbench/ 具体安装步骤就不写了,直接一直下一步就可以了. 下 ...
- text-transform设置单词首字母大写
text-transform 一.语法 text-transform 主要用于设置文本的大小写. text-transform有5个值,分别如下: none. 默认值. capitalize. 文 ...
- Softmax回归(Softmax Regression)
转载请注明出处:http://www.cnblogs.com/BYRans/ 多分类问题 在一个多分类问题中,因变量y有k个取值,即.例如在邮件分类问题中,我们要把邮件分为垃圾邮件.个人邮件.工作邮件 ...
- java怎么建立JAVA工程项目?
File->New->Java Project;src->New->Class; 出现packet,运行出错的问题 然后如果不要包packet 的话,不要在此处填写包的名称就行 ...
- 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置
本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...
- 常见sql数据类型
数值型类型 INT 从-231到-231-1的整型数据,存储大小2个字节 SMALLLINT 从-32768到32767的整数数据,存储大小4个字节 TINYINT 0~255的整数类型,存储大小1个 ...
- ural 1208 Legendary Teams Contest
题意描述:给定K支队伍,每队三个队员,不同队伍之间队员可能部分重复,输出这些队员同时能够组成多少完整的队伍: DFS,利用DFS深度优先搜索,如果该队所有队员都没有被访问过,那么将该队计入结果,再去选 ...
- 初识Struts2
一.Struts2入门案例 ①引入jar包 ②在src下创建struts.xml配置文件 <?xml version="1.0" encoding="UTF-8&q ...