今天给大家带来服务一个简易工作原理图,先附上代码
package com.blb.seven;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Properties;
import java.util.Scanner;
public class Tomcat {
public static void main(String[] args) throws Exception {
Scanner in=new Scanner(System.in);
FileInputStream fs=new FileInputStream("src/com/blb/seven/web.properties");
Properties p=new Properties();
p.load(fs);
while(true){
System.out.println("请输入地址:");
String url=in.next();
String value=p.getProperty(url);
if(value==null){
System.out.println("页面不存在,404");
continue;
}
Class<?> clazz = Class.forName(value);
Servlet n = (Servlet) clazz.newInstance();
n.service();
}
}
}
这是服务器的一个简易框架,用户请求的实现,是通过Properties文件来实现的,这里我只是简单的写了三个配置文件:上面我用(value==null)来判断这个地址是否存在,是由于Properties继承Hashtable,也是以键值对的方式存在的,通过用户输入的地址,通过getProperty() 可以找到Value的值,通过反射可以调用到Value中的方法,从而实现请求
user=com.blb.seven.UserServlet
student=com.blb.seven.StudentServlet
home=com.blb.seven.HomeServlet
服务器这里面东西我们开发者是动不了了,通过系统的Sevlet接口,来拓展自己的逻辑
package com.blb.seven;
public interface Servlet {
public void service();
}
下面展示一下,三个简单个人逻辑,通过这三个重写方法,就可以实现相应的页面展示
package com.blb.seven;
public class HomeServlet implements Servlet{
@Override
public void service() {
System.out.println("欢迎进入家庭服务中心");
}
}
package com.blb.seven;
public class StudentServlet implements Servlet{
@Override
public void service() {
System.out.println("欢迎进入学生主页中心");
}
}
package com.blb.seven;
public class UserServlet implements Servlet{
@Override
public void service() {
System.out.println("欢迎进入用户服务中心");
}
}