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
查看不同的显示结果
分享到:
相关推荐
基于netty手写实现简易版tomcat,netty实现http服务器容器的demo
用Servlet和jsp写的一个实现简单的登录和注册界面。用到的工具和技术有eclipse2017,tomcat7.0,mysql5.6,JDBC,jdk1.8,html,css
tomcat的简易源码实现,参考详细内容请搜索csdn用户yang134679
手写tomcat,模拟tomcat数据处理脉络,针对tomcat容器的关键部分提取核心代码,通过浅显的代码,讲述tomcat连接器与容器之间的关系
javaee作业实现简易tomcat
很少有写tomcat实现方式的书,这本书从代码层次介绍了tomcat的实现,讲述tomcat是如何实现request,response,如何管理session等,同时附上源码,每一章都从简单到复杂,教你自己实现一个tomcat。完整版(20章)
jsp+servlet+mysql+tomcat实现增删改查,编译器可以用eclipse,适合新手入门。
简单实现了Tomcat 可以了解Tomcat原理
mini-cat 是简易版本的 tomcat 实现。简单的启动实现/netty 支持。servlet 支持。静态网页支持。filter/listener 支持。wars 支持
单tomcat 实例下 部署多应用程序实现。 实现简单,容易上手。。。
tomcat代码的简单实现,使用Socket编程,反射技术,希望对大家有帮助
webservice部署tomcat简单例子, 使用jax-ws实现,下载后用tomcat部署webserviceServer,运行即可
很好用,使用也很简单,把其中的三个Jar包拷贝到你的tomcat中的lin目录中即可;tomcat8、8.5、9与redis实现session共享,并可以通过修改源码可自定义session键,访问地址:...
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。 Igor...
1.背景:Flex Socket通信及安全策略,使用flex实现客户端,java实现服务端; 2.重点解决安全策略问题:将flash发布为html格式后,本地访问页面后,一般可以与服务器进行socket通信;但是部署到tomcat服务器上后无法...
完美实现分布式集群Session共享 简单多tomcat8+redis的session共享实现,支持tomcat8、tomcat8.5、tomcat9,不能用直接联系我积分双倍返回。
实现了tomcat 7 基于的聊天机制,实现一对一,多对多的聊天功能,一对一,登陆名分别为11和33 ,多对多只在在后台改一下就OK了,代码一看就懂,简单,
简单我tomcat5.0中的JNDI应用
用SSH框架搭建,使用mysql+tomcat+myeclipse工具,前端使用bootstrap
当时,界面是仿照一个java论坛做的(忘了是哪个); 一般用户可以发贴、回贴、站内搜索,并支持站内信; 管理员方面的比较粗糙,只有简单的“删贴”和“加精”功能。 配置数据库时,mysql.ini中第一个设置...