上一篇文章我们实现了Http请求与响应,封装了Request与Response对象。这篇文章我们来实现Tomcat服务器的核心功能,web.xml读取,映射,页面跳转等功能。
web.xml文件定义如下:
一、读取web.xml文件
读取xml文件的方式有很多,有DOM,SAX,Stax等。这里采用的是SAX读取方式。
二、提取标签信息
将servlet标签和servlet-mapping标签以及子标签提取出来并存储到Mapping和Entity中
Entity源码:
package org.wrf.httpServer.server.core;
/**
* <servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.shsxt.server.LoginServlet</servlet-class>
</servlet>
* Copyright © 2019 WRF. All rights reserved.
* 功能描述:
* @Package: org.wrf.httpServer.servlet
* @author: knight
* @date: 2019年3月26日 下午7:36:58
*/
public class Entity {
private String name;
private String clz;
public Entity() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClz() {
return clz;
}
public void setClz(String clz) {
this.clz = clz;
}
@Override
public String toString() {
return "Entity [name=" + name + ", clz=" + clz + "]";
}
}
Mapping源码:
package org.wrf.httpServe