BS架构涉及的角色和协议
4个角色,3个协议,在jdbc接口协议中,我们是调用者,但是在Servlet接口协议中,我们是实现者,也就是我们要实现Servlet接口,让web服务器来调用我们实现的接口
模拟Servlet本质
Tomcat已经有人写了,Servlet接口协议SUN公司也开发了,所以我们只要写实现Servlet接口的类和web.xml配置文件就行了
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Properties;
import java.util.Scanner;
interface Servlet {
void service();
}
class LoginServlet implements Servlet {
public void service() {
System.out.println("登录成功,正在验证用户名和密码");
}
}
class DeleteServlet implements Servlet {
public void service() {
System.out.println("删除成功");
}
}
public class Tomcat {
public static void main(String[] args) throws IOException, IllegalAccessException, InstantiationException, ClassNotFoundException {
System.out.println("服务器启动成功");
Scanner s = new Scanner(System.in);
System.out.println("请打开浏览器,在地址栏输入请求路径");
String requestPath = s.next();
String xmlPath = Thread.currentThread().getContextClassLoader().getResource("com/vansal/www/servlet/web.xml").getPath();
Reader reader = new FileReader(xmlPath);
Properties pro = new Properties();
pro.load(reader);
reader.close();
String servletClassName = pro.getProperty(requestPath);
System.out.println(servletClassName); // com.vansal.www.servlet.LoginServlet
Class c = Class.forName(servletClassName);
Servlet servlet = (Servlet) c.newInstance();
servlet.service();
}
}
web.xml作用:将用户的请求路径和服务端小程序绑定在一起
/login=com.vansal.www.servlet.LoginServlet
/delete=com.vansal.www.servlet.DeleteServlet
安装Tomcat和配置JAVA_HOME
搜apche tomcat官网下载,这里注意jdk和tomcat的版本,我用的是jdk9和tomcat9.0.40
配置JAVA_HOME环境变量
然后右键管理员模式运行tomcat的bin目录下的startup.bat文件,在浏览器中输入http://localhost:8080/就可以访问了
配置startup和shotdown命令在命令行中可以直接启用
这样还会报错,提示
我们再配置CATALINA_HOME环境变量,注意是直接tomcat9目录就可以了,不需要再bin目录下
shutdown命令会和windows命令冲突,我们直接把bin目录下的shutdown.bat文件改名为stop,之后就可以用stop停止
IDEA配置Tomcat
File —> Settings
Edit Configurations配置