日期:2014-05-20  浏览次数:20653 次

jsp、servlet和tomcat的关系
本帖最后由 syjml 于 2013-09-03 11:13:27 编辑
小弟受公司领导要求,由.NET转向java。看了几天书,对jsp、servlet和tomcat的关系还是理不太清。目前我是这么理解的:jsp、servlet其实都是servlet类,浏览器请求的其实也是servlet类。tomcat收到servlet类的请求后,转给servlet容器来处理,servlet容器处理完后生成页面发给tomcat,tomcat再发回给浏览器。
我认为这个servlet容器类似IIS下处理.NET页面的进程。

请问各位,我这么理解对不对?
tomcat servlet jsp

------解决方案--------------------
tomcat 是服务器。
servlet 在tomcat中能够运行。
jsp是一种servlet。

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

比如用户登录网站----------->login.html(输入用户名,密码)--------->后台的servlet验证用户名,密码是否正确)--------------->正确,返回到success.jps(显示,欢迎<用户名>)
------解决方案--------------------
tomcat类似于IIS
jsp与以前的asp很像
servlet有点像.net中页面对应的后台代码
另外java中没有.net中所谓的服务器控件。
------解决方案--------------------
浏览器发送请求给Tomcat服务器,Tomcat收到请求后,检测是否是HTMl静态页面,如果是,就直接将静态页面发送给浏览器,如果不是就会调用Servlet来处理,之后跳转到jsp页面,jsp将代码整合之后发给Tomcat服务器,然后由Tomcat服务器将HTML代码发给浏览器,由浏览器来展示页面。
Servlet的主要功能是用来处理业务逻辑代码的,虽然JSP也是Servlet,但是它的主要功用是来做页面展示的。这样区分能够避免JSP页面太过混乱。