`
ding43930053
  • 浏览: 42523 次
社区版块
存档分类
最新评论

一个简单Tomcat实现

 
阅读更多
package com.dqm.tomcat;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
import java.util.StringTokenizer;

interface Serlet {
	public String getContext();
}

class HelloSerlet implements Serlet {

	public String getContext() {
		// TODO Auto-generated method stub
		return "hello java";
	}
}

class DateSerlet implements Serlet {

	public String getContext() {
		// TODO Auto-generated method stub
		return "now time is"+new Date();
	}
	
}

public class Tomcat {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			ServerSocket server = new ServerSocket(8080);
			Socket client ;
			BufferedReader br = null;
			while(true){
				client = server.accept();
				br = new BufferedReader(
						new InputStreamReader(client.getInputStream()));
				String command = br.readLine();
				StringTokenizer stk = new StringTokenizer(command);
				System.out.println(stk.nextToken());
				String sStr = stk.nextToken().substring(1);
				sStr = "com.dqm.tomcat."+sStr;
				System.out.println(sStr);
				PrintStream ps = new PrintStream(client.getOutputStream());
				ps.println("<html>");
			
				ps.println("<body>");
				try {
					Serlet serlet = (Serlet)Class.forName(sStr).newInstance();
					ps.println(serlet.getContext());
					System.out.println(serlet.getContext());
				} catch (InstantiationException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (IllegalAccessException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (ClassNotFoundException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
				ps.println("</body>");
				ps.println("</html>");
				System.out.println(ps.toString());
				ps.close();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

在地址栏输入:http://127.0.0.1/DateSerlet

http://127.0.0.1/HelloSerlet

查看不同的显示结果

分享到:
评论

相关推荐

    简单的tomcat实现1

    本篇文章将深入解析“简单的tomcat实现1”,帮助读者理解Tomcat的核心概念、工作原理以及如何手写Tomcat的基本组件。 首先,我们要了解Tomcat的两大核心组成部分:连接器(Connector)和容器(Container)。连接器...

    简单的Tomcat源码实现

    【标题】"简单的Tomcat源码实现"涵盖了Tomcat服务器的基础构建和运行原理,这是一个针对初学者或希望深入了解Tomcat内部工作方式的开发者所关注的话题。Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,它...

    Servlet+mysql+tomcat实现简单登录和注册

    在本项目中,"Servlet+mysql+tomcat实现简单登录和注册",主要涉及了Web开发中的几个核心技术,包括Servlet、JSP、MySQL数据库以及Tomcat服务器。下面将详细阐述这些知识点及其相互间的配合。 1. **Servlet**: ...

    一个tomcat配置多个端口运行不同项目

    本教程将深入探讨如何配置Apache Tomcat 8.5.11以支持在一个实例中同时运行多个项目,每个项目绑定到不同的端口,以实现资源的有效利用和管理。 首先,我们需要了解Tomcat的基本结构。在解压的`apache-tomcat-...

    简易tomcat

    【简易Tomcat】是JavaEE课程作业中一个简化版的Apache Tomcat服务器实现。这个项目旨在帮助学生理解Tomcat的工作原理,以及如何处理HTTP请求和响应。通过这个实践,学生可以深入学习JavaEE的核心概念,如Servlet、...

    netty实现简易tomcat

    在本项目中,我们将探讨如何利用 Netty 实现一个简易版的 Tomcat,即一个基础的 HTTP 服务器容器。Tomcat 是一个广泛使用的开源 Java Servlet 容器,它实现了 Java EE 的 Web 应用程序规范。 首先,我们需要了解 ...

    Java后端WebSocket的Tomcat实现

    以下是一个简单的服务器端WebSocket端点示例: ```java import javax.websocket.OnClose; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax....

    Java后端WebSocket的Tomcat实现.docx

    以下是一个简单的示例: ```html var socket = new WebSocket("ws://localhost:8080/yourapp/websocketendpoint"); socket.onopen = function(event) { // 连接打开时的处理 }; socket.onmessage = function...

    memcached实现多个tomcat 共享一个session

    标题中的“memcached实现多个tomcat共享一个session”是指在分布式系统中,通过使用memcached作为session存储介质,实现多台Tomcat服务器之间的session共享。这样可以确保用户在集群中的任意一台服务器上登录后,其...

    Tomcat8(Tomcat9)+redis实现Session共享(支持Redis集群)

    在单个服务器上,Session可以通过内存来管理,但在分布式环境下,多个服务器无法共享同一个内存中的Session,这就需要引入外部存储来实现Session共享。 Redis是一个高性能的键值数据库,常被用作缓存和会话存储解决...

    Nginx+tomcat 实现负载均衡session共享demo

    2. 配置`Nginx`:在`nginx.conf`配置文件中,我们需要定义一个upstream块,列出所有`Tomcat`服务器的IP地址和端口号,例如: ```nginx upstream tomcat_cluster { server tomcat1.example.com:8080; server ...

    tomcat实现内幕(How Tomcat Works.pdf)

    很少有写tomcat实现方式的书,这本书从代码层次介绍了tomcat的实现,讲述tomcat是如何实现request,response,如何管理session等,同时附上源码,每一章都从简单到复杂,教你自己实现一个tomcat。完整版(20章)

    tomcat7tomcat8tomcat9

    Tomcat是Apache软件基金会下的一个开源项目,是一个广泛使用的Java Servlet容器,特别因为其轻量级、高效能和稳定性而闻名。它实现了Java Servlet和JavaServer Pages(JSP)规范,使得开发者能够用Java语言来编写...

    tomcat简单实现

    本篇将深入探讨如何通过Socket编程和反射技术来简单实现一个基础的Tomcat服务器。 首先,让我们了解Socket编程在Tomcat中的作用。在计算机网络中,Socket是进程间通信的一种方式,它是基于TCP/IP协议进行通信的基础...

    mini-cat 是简易版本的 tomcat 实现

    【标题】:mini-cat——简易版Tomcat实现 【描述】:mini-cat是一个小型化的Tomcat服务器实现,它旨在提供一个轻量级的环境来运行Java Web应用。它包括了核心的Tomcat功能,如使用Netty作为底层通信框架、支持...

    jsp+servlet+mysql+tomcat实现增删改查

    在IT行业中,Web开发是一项核心技能,而"jsp+servlet+mysql+tomcat实现增删改查"是初学者常见的入门实践项目。这个项目旨在帮助新手掌握基于Java Web的动态网站开发技术,通过Eclipse这样的集成开发环境(IDE)进行...

    Tomcat源码学习:一个最简单的“Tomcat”

    【描述】虽然描述部分为空,但我们可以推测博主pirate4444在文章中可能以一个简化的Tomcat实现为例,逐步解析其核心组件,如Catalina(核心处理引擎)、 Coyote(HTTP连接器)和 Jasper(JSP编译器)等。他可能还会...

    Tomcat实现session共享demo

    本示例将深入探讨如何使用Tomcat8与Redis相结合来实现session共享,这是一个高效且广泛应用的解决方案。 首先,我们需要理解什么是Session。在Web应用中,Session是用来跟踪用户状态的一种机制。当用户登录后,...

    nginx负载均衡 nginx+tomcat tomcat实现负责均衡

    ### Nginx与Tomcat实现负载均衡的知识点详解 #### Nginx简介及特性 Nginx是一款由Igor Sysoev开发的高性能HTTP服务器和反向代理服务器,以其出色的稳定性和低系统资源消耗而著称。最初是为俄罗斯访问量排名第二的...

    tomcat的简单实现

    这个“简单实现”可能是对Tomcat核心功能的一个简化版或者演示,帮助初学者理解其工作原理。 **一、Tomcat基本概念** 1. **Servlet**: Servlet是Java编程语言中的一个接口,用于扩展服务器的功能。在Web应用中,...

Global site tag (gtag.js) - Google Analytics