jsp、servlet和tomcat的关系

tomcat 是服务器。
servlet 在tomcat中能够运行。
jsp是一种servlet。

jsp是servlet的一种实现。

浏览器是向服务器(tomcat)发送请求,然后tomcat根据浏览器的请求,派出对应的servlet去处理这些请求。
servlet在处理这些请求之后,得到一系列的处理后的数据。
然后将这些数据交给jsp,让jsp显示出来,让用户看到。

比如用户登录网站----------->login.html(输入用户名,密码)--------->后台的servlet验证用户名,密码是否正确)--------------->正确,返回到success.jps(显示,欢迎<用户名>)

jsp就是特殊的servlet,在servlet中通过流将html代码输出给客户端,为了方便就就诞生了jsp,jsp中可以抛开java代码,直接使用html标签编写代码,这样就很好的将java代码和html代码分离了,其实jsp最终运行时会被编译成servlet。

tomcat就web服务器,java web项目常选用它,java还有其他的服务器如:JBOSS、Glassfish、webshere等。

Servlet 的作用是生成 HTML,然后发到客户端,再由客户端(也就是浏览器)渲染结果。 JSP 本质上就是 Servlet,只是 Servlet 里面一行行拼 HTML 太麻烦了,所以有了 JSP 这种东西,把拼 HTML 自动化了。
Servlet 在服务端执行,生成 HTML,发送到客户端执行。所以并不是浏览器执行 Java 代码。
其它的 Web 技术,原理都是类似的,都是在服务端生成 HTML 后(当然也有用 JSON 和 XML 的),通过网络往浏览器或者其它客户端发。


浏览器不可以执行Java(当然我不是说的Java applet)。浏览器只认识HTML,js和css。servlet的作用,其实是在服务器端把要显示的各种信息拼成Java类,然后再交给servlet容器(tomcat),然后tomcat再将拿到的类翻译成HTML送回到浏览器。就是这个过程
 
原文地址:https://www.cnblogs.com/de-ming/p/13769703.html