首页 > Web开发 > 详细

Servlet学习之web服务器Tomcat 详解

时间:2014-03-14 19:26:40      阅读:587      评论:0      收藏:0      [点我收藏+]

 

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

bubuko.com,布布扣

bubuko.com,布布扣
<h1>Hello!<h1>
bubuko.com,布布扣

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

bubuko.com,布布扣
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();
        
    }
}
bubuko.com,布布扣

编译一下

bubuko.com,布布扣

在IE里运行

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

bubuko.com,布布扣

 

再看一下cmd命令

bubuko.com,布布扣

 

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

使用TomCat

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

bubuko.com,布布扣

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

如果启动失败

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

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

我的是在c盘

bubuko.com,布布扣

 

也可以直接在startup.bat里

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

bubuko.com,布布扣

 

 

2.是不是端口被占用8081

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

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

               connectionTimeout="20000"

               redirectPort="8443" />

把8081端口修改一个

 

a

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

bubuko.com,布布扣
 <role rolename="manager-gui"/>
  <role rolename="admin-gui"/> 
  <user username="admin" password="admin" roles="manager-gui,admin-gui"/>
bubuko.com,布布扣

 

测试Tomcat

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

 

 bubuko.com,布布扣

 

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

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

 

bubuko.com,布布扣
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/> 
bubuko.com,布布扣
bubuko.com,布布扣
  <user username="admin" password="admin" roles="manager-gui,admin-gui"/>
bubuko.com,布布扣

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

 bubuko.com,布布扣bubuko.com,布布扣

TOMCAT的目录

bubuko.com,布布扣

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

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

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

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

在IE里输入

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

bubuko.com,布布扣

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

新建一个文建夹WEB-INF

在里边建一个web.xml

bubuko.com,布布扣
<?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>
bubuko.com,布布扣

 再在IE里输入

http://localhost:9081/HelloWeb/

也会看到这个页面

work目录

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

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

bubuko.com,布布扣

它对应的servlet是

bubuko.com,布布扣

Servlet学习之web服务器Tomcat 详解,布布扣,bubuko.com

Servlet学习之web服务器Tomcat 详解

原文:http://www.cnblogs.com/li-peng/p/3577763.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!