模拟servlet的本质
Posted 向阳-Y.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟servlet的本质相关的知识,希望对你有一定的参考价值。
模拟Servlet本质,方便理解Servlet
Tomcat.java
package org.apache;
//充当Tomcat服务器的开发者
import java.util.Scanner;
import java.util.Properties;
import java.io.FileReader;
import javax.servlet.Servlet;
public class Tomcat
public static void main(String[] args) throws Exception
System.out.println("Tomcat服务启动成功,开始接收用户的访问.");
//简单的使用Scanner来模拟用户的请求
//用户访问服务器是通过浏览器上的请求路径
//也就是说用户请求的路径不同,后台执行的Servlet不同
System.out.print("请输入您的访问路径:");
Scanner s = new Scanner(System.in);
//用户的请求路径
String key = s.nextLine();
//ResourceBundle bundle = ResourceBundle.getBundle("web.properties");
FileReader reader = new FileReader("web.properties");
Properties pro = new Properties();
pro.load(reader);
reader.close();
//通过Key获取value
String className=pro.getProperty(key);
//通过反射机制创建对象
Class clazz = Class.forName(className);
Object obj=clazz.newInstance();//obj的类型对应Tomcat服务器开发人员来说不知道4
//但是Tomcat服务器的开发者知道,你写的xxxServlet一定实现了Servlet接口
Servlet servlet = (Servlet)obj;
servlet.service();
Servlet.java
package javax.servlet;
public interface Servlet
void service();
BankServlet.java
package com.xiangyang.servlet;
import javax.servlet.Servlet;
public class BankServlet implements Servlet
public void service()
System.out.println("BankServlet's service....");
UserListServlet.java
package com.xiangyang.servlet;
import javax.servlet.Servlet;
public class UserListServlet implements Servlet
public void service()
System.out.println("UserListServlet's service....");
UserLoginServlet.java
package com.xiangyang.servlet;
import javax.servlet.Servlet;
public class UserLoginServlet implements Servlet
public void service()
System.out.println("UserLoginServlet's service....");
web.properties
/userlist=com.xiangyang.servlet.UserListServlet
/userlogin=com.xingyang.servlet.UserLoginServlet
/bank=com.xiangyang.servlet.BankServlet
实验成果截图:
以上是关于模拟servlet的本质的主要内容,如果未能解决你的问题,请参考以下文章