模拟tomcat服务器,sun公司,webapp开发者
模拟tomcat服务器,sun公司,webapp开发者
首先我们思考一下一个动态web应用需要哪些角色参与,角色与角色之间又有多少协议?
1.有4种角色,分别是(浏览器开发团队[如谷歌],web服务器开发团队[如tomcat],数据库开发团队[如mysql],webapp开发团队[java开发者])
2.①webapp开发团队和web服务器开发团队之间遵循servlet规范[作用是webapp和web服务器之间的解耦合]②浏览器开发团队和web服务器开发团队遵循HTTP协议③webapp开发团队和数据库开发团队之间遵循JDBC规范
模拟sun公司(制定servlet规范)
package javax.servlet;
/*
我充当的sun公司,我制定了Servlet接口/规范。
*/
public interface Servlet {
void servlet();
}
模拟tomcat服务器
/*
我充当的stomcat服务器,我提供mian方法。
*/
package javax.servlet;
public class Tomcat {
public Tomcat() {
}
public static void main(String[] args) {
System.out.println("tomcat服务器启动成功了,开始介绍用户的访问");
System.out.println("请输入您要访问的路径");
Scanner scanner = new Scanner(System.in);
String kay = scanner.nextLine();
try {
FileReader fileReader = new FileReader("src/main/java/web.properties");
Properties properties = new Properties();
properties.load(fileReader);
fileReader.close();
properties.getProperty(kay);
Class aClass = Class.forName(property));
Servlet servlet = (Servlet)aClass.newInstance();
servlet.service();
} catch (FileNotFoundException var8) {
throw new RuntimeException(var8);
} catch (IOException var9) {
throw new RuntimeException(var9);
} catch (ClassNotFoundException var10) {
throw new RuntimeException(var10);
} catch (InstantiationException var11) {
throw new RuntimeException(var11);
} catch (IllegalAccessException var12) {
throw new RuntimeException(var12);
}
}
}
}
webapp开发者
package WEBINF;
import javax.servlet.Servlet;
public class UserListServlet implements Servlet {
@Override
public void service() {
System.out.println("UserListServlet`s servlet...");
}
}
package WEBINF;
import javax.servlet.Servlet;
public class UserLoginServlet implements Servlet {
@Override
public void service() {
System.out.println("UserListServlet`s servlet...");
}
}
配置文件
/aaaa=WEBINF.UserLoginServlet
/bbbb=WEBINF.UserListServlet
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构