为什么要把项目部署到服务器才能通过静态网页请求Servlet

225 阅读1分钟

仅为个人理解,欢迎指正

理解一:

1.Servlet是动态资源, 它是一个java类,需要一个对象来调用其业务方法

2.直接通过本地的html请求servlet,此时并没有一个Servlet的对象来调用业务方法,自然不能实现正常访问

3.把项目部署到Tomcat,发的请求会由Tomcat来接收,并封装代表请求的requst对象和响应的response对象

4.Tomcat根据Servlet配置的实例化时机(可能是项目一部署就实例化这个Servlet,也可能是第一次请求的时候实例化),实例化这个Servlet类的对象,并将3中的requst、response传给对应的业务方法(doPost、doGet···),通过对象调用业务方法

理解二:

1.java程序是要编译成.class字节码文件交给JVM虚拟机去跑的

2.直接通过本地html去请求servlet,Servlet此时都还是个.java文件(源代码),无法接收请求

3.所以,需要的是,将项目打包,部署到Tomcat,此时java代码都编译成了class文件,而且Tomcat会帮你接收请求,封装参数,实例化Servlet对象,调用业务方法