首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Tomcat源码解读系列(2)——Tomcat的核心组成和启动过程

2012-12-27 
Tomcat源码解读系列(二)——Tomcat的核心组成和启动过程?????????? Tomcat在接收到用户请求时,将会通过以上

Tomcat源码解读系列(二)——Tomcat的核心组成和启动过程

?


????????? Tomcat在接收到用户请求时,将会通过以上组件的协作来给最终用户产生响应。首先是最外层的Server和Service来提供整个运行环境的基础设施,而Connector通过指定的协议和接口来监听用户的请求,在对请求进行必要的处理和解析后将请求的内容传递给对应的容器,经过容器一层层的处理后,生成最终的响应信息,返回给客户端。


?在介绍请求的处理过程时,将会详细介绍各个组件的作用和处理流程。本文将会主要分析Tomcat的启动流程,介绍涉及到什么组件以及初始化的过程,简单期间将会重点分析HTTP协议所对应Connector启动过程。

?

1 楼 coolhuali 2012-09-03   /* 联系人对象*/
public class ContactPerson {
private String personName;
private String mobileNumber;
private String email;

public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
public String getMobileNumber() {
return mobileNumber;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
}

/*联系人*/
public class Recipient {
private List<ContactPerson> contactPersonList=new ArrayList();
public void addContactPerson(ContactPerson contactPerson){
this.contactPersonList.add(contactPerson);
}
public Iterator<ContactPerson> iterator(){
return contactPersonList.iterator();
}
}

/*邮件发送接口*/
public interface SMTransport {
public abstract void sendMessage(ShortMessage shortmessage);
}

/*使用手机短信的方式发送消息*/
public class CellPhoneTransport implements SMTransport {
public void sendMessage(ShortMessage shortmessage)
{
Recipient recipient = shortmessage.getRecipient();
Iterator it = recipient.iterator();
while(it.hasNext())
{
ContactPerson cp = it.next();
System.out.println("向手机号为"+cp.getMobileNumber()+"的联系人发送信息,内容:"+shortmessage.getContent());
}
}
}

/*使用邮件的方式发送消息*/
public class MailTransport implements SMTransport {
public void sendEmail(ShortMessage shortmessage)
{
Recipient recipient = shortmessage.getRecipient ();
Iterator it = recipient.iterator();
while(it.next())
{
ContactPerson cp = (ContactPerson)it.next();
System.out.println("向邮件地址为"+cp.getEmail()+"的联系人发送信息,内容:"+shortmessage.getContent());
}
}
}

/* 短消息核心类*/
public class ShortMessage {
private String content;
private Recipient recipient;
private SMTransport smTransport;

public void setRecipient(Recipient recipient){
this.recipient = recipient;
}

public Recipient getRecipient(){
return this.recipient;
}

public void setContent(String content){
this.content = content;
}

public String getContent(){
return this.content;
}

public void addTransport(SMTransport smTransport){
this.smTransport = smTransport;
}

public void send(){
smTransport.sendMessage(this);
}
}

热点排行