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的核心概念、工作原理以及如何手写Tomcat的基本组件。 首先,我们要了解Tomcat的两大核心组成部分:连接器(Connector)和容器(Container)。连接器...
【标题】"简单的Tomcat源码实现"涵盖了Tomcat服务器的基础构建和运行原理,这是一个针对初学者或希望深入了解Tomcat内部工作方式的开发者所关注的话题。Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,它...
在本项目中,"Servlet+mysql+tomcat实现简单登录和注册",主要涉及了Web开发中的几个核心技术,包括Servlet、JSP、MySQL数据库以及Tomcat服务器。下面将详细阐述这些知识点及其相互间的配合。 1. **Servlet**: ...
本教程将深入探讨如何配置Apache Tomcat 8.5.11以支持在一个实例中同时运行多个项目,每个项目绑定到不同的端口,以实现资源的有效利用和管理。 首先,我们需要了解Tomcat的基本结构。在解压的`apache-tomcat-...
【简易Tomcat】是JavaEE课程作业中一个简化版的Apache Tomcat服务器实现。这个项目旨在帮助学生理解Tomcat的工作原理,以及如何处理HTTP请求和响应。通过这个实践,学生可以深入学习JavaEE的核心概念,如Servlet、...
在本项目中,我们将探讨如何利用 Netty 实现一个简易版的 Tomcat,即一个基础的 HTTP 服务器容器。Tomcat 是一个广泛使用的开源 Java Servlet 容器,它实现了 Java EE 的 Web 应用程序规范。 首先,我们需要了解 ...
以下是一个简单的服务器端WebSocket端点示例: ```java import javax.websocket.OnClose; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax....
以下是一个简单的示例: ```html var socket = new WebSocket("ws://localhost:8080/yourapp/websocketendpoint"); socket.onopen = function(event) { // 连接打开时的处理 }; socket.onmessage = function...
标题中的“memcached实现多个tomcat共享一个session”是指在分布式系统中,通过使用memcached作为session存储介质,实现多台Tomcat服务器之间的session共享。这样可以确保用户在集群中的任意一台服务器上登录后,其...
在单个服务器上,Session可以通过内存来管理,但在分布式环境下,多个服务器无法共享同一个内存中的Session,这就需要引入外部存储来实现Session共享。 Redis是一个高性能的键值数据库,常被用作缓存和会话存储解决...
2. 配置`Nginx`:在`nginx.conf`配置文件中,我们需要定义一个upstream块,列出所有`Tomcat`服务器的IP地址和端口号,例如: ```nginx upstream tomcat_cluster { server tomcat1.example.com:8080; server ...
很少有写tomcat实现方式的书,这本书从代码层次介绍了tomcat的实现,讲述tomcat是如何实现request,response,如何管理session等,同时附上源码,每一章都从简单到复杂,教你自己实现一个tomcat。完整版(20章)
Tomcat是Apache软件基金会下的一个开源项目,是一个广泛使用的Java Servlet容器,特别因为其轻量级、高效能和稳定性而闻名。它实现了Java Servlet和JavaServer Pages(JSP)规范,使得开发者能够用Java语言来编写...
本篇将深入探讨如何通过Socket编程和反射技术来简单实现一个基础的Tomcat服务器。 首先,让我们了解Socket编程在Tomcat中的作用。在计算机网络中,Socket是进程间通信的一种方式,它是基于TCP/IP协议进行通信的基础...
【标题】:mini-cat——简易版Tomcat实现 【描述】:mini-cat是一个小型化的Tomcat服务器实现,它旨在提供一个轻量级的环境来运行Java Web应用。它包括了核心的Tomcat功能,如使用Netty作为底层通信框架、支持...
在IT行业中,Web开发是一项核心技能,而"jsp+servlet+mysql+tomcat实现增删改查"是初学者常见的入门实践项目。这个项目旨在帮助新手掌握基于Java Web的动态网站开发技术,通过Eclipse这样的集成开发环境(IDE)进行...
【描述】虽然描述部分为空,但我们可以推测博主pirate4444在文章中可能以一个简化的Tomcat实现为例,逐步解析其核心组件,如Catalina(核心处理引擎)、 Coyote(HTTP连接器)和 Jasper(JSP编译器)等。他可能还会...
本示例将深入探讨如何使用Tomcat8与Redis相结合来实现session共享,这是一个高效且广泛应用的解决方案。 首先,我们需要理解什么是Session。在Web应用中,Session是用来跟踪用户状态的一种机制。当用户登录后,...
### Nginx与Tomcat实现负载均衡的知识点详解 #### Nginx简介及特性 Nginx是一款由Igor Sysoev开发的高性能HTTP服务器和反向代理服务器,以其出色的稳定性和低系统资源消耗而著称。最初是为俄罗斯访问量排名第二的...
这个“简单实现”可能是对Tomcat核心功能的一个简化版或者演示,帮助初学者理解其工作原理。 **一、Tomcat基本概念** 1. **Servlet**: Servlet是Java编程语言中的一个接口,用于扩展服务器的功能。在Web应用中,...