WEB开发初阶——Tomcat

Tomcat是什么?
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将Tomcat和Apache Web服务器混淆,Apache Web Server[Apache]是一个用C语言实现的HTTP web server;这两个HTTP web server不是捆绑在一起的。Apache Tomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。
Apache Tomcat区别
Apache是一个web服务器环境程序,可以作为web服务器使用。不过只支持静态网页,如(asp,php,cgi,jsp)等动态网页的就显得无能为力。
如果想让服务器也能处理动态页面,那么就需要Tomcat。Tomcat能对JSP、Servlet进行解析

WEB服务器(Tomcat)会干哪些事情 (简单实现)
public class Initializer {
    public static void main(String[] args) throws IOException {
        while (true) {
            try {
                Socket socket = Listener.listen(Config.port);                      1.监听端口
                String context = Reader.read(socket);                                        2.读取请求
                Request request = ContextParser.parse(context);             3.解析协议
                Action action = Dispatcher.dispatch(request);                    4.分发请求
                Response response = action.execute(request);                 5.处理请求
                Writer.write(socket, response);                                           6.返回结果
                Closer.close(socket);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

存在的问题:
1. 配置的加载  使用xml解决
2. web工程与web服务器分离  /不用再添加新的需求后,编译工程
   静态页面  Tomcat下的defaultAction类处理
   动态请求  target下面 编译好的.class文件(实现Action接口 做成jar包)
                   但是,这样之后服务器不知道有哪些action,所以通过xml来让服务器知道。读取url 跟 Action对应关系,放入到Map里面

3.Servlet Dispatch  Servlet的url 匹配规则

url_pattern
匹配顺序
1.全路径映射 /aaa/bbb.do1. 精确路径匹配
2.路径映射   /aaa/* /*2. 最长路径匹配
3.扩展映射   *。

3. 扩展匹配

4.默认映射   /
4. defaultServlet 处理静态页面的类
Tomcat的目录结构
──project name
│    ├──conf                 //存放Tomcat服务器的各种全局配置文件
│        ├──server.xml       //Tomcat主要配置文件 Tomcat组件的初始配置  
│        ├──web.xml          //在Tomcat中配置不同的关系环境
│    ├──logs                 //Tomcat执行时的日志文件
│        ├──catalina.out
│    ├──webapps              //Tomcat的主要Web发布目录,默认情况下把Web应用放于此目录
│        ├──ROOT
│          ├──WEB-INF        //web应用 info
│            ├──web.xml      //存放Web应用的发布描述文件 web.xml
│            ├──classes      //存放各种class文件,Servlet类文件也放于此目录下
│            ├──lib          //存放所需的所有Jar文件

Web项目 目录结构
 |──pom.xml
  ├──src
  │  └──main                //SRC MAIN maven约定的项目结构
  │    ├──java               //maven package命令 将工程打包成war包,webapp原样拷贝 java文件编译后放到classes文件夹下, lib 调用的jar包
  │    ├──resources         
  │    └──webapp            //工程的发布文件夹
  │      └──WEB-INF
  │        └──web.xml



Apache Tomcat区别参考文章 http://developer.51cto.com/art/201007/210894.htm 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值