日期:2014-05-18  浏览次数:20712 次

关于tomcat运行原理的问题?
观察tomcat的运行,当接收到浏览器发送过来的地址,它才查找webapps底下有没有相关应用的jsp,如果有的话(没有的话,它就会输出“服务器下找不到应用”),它就会把jsp转化为servlet保存在work底下。不知道这样是不是对的?如果这样是对的,那么我想问tomcat是怎么找到jsp的相关的应用,它是通过什么类,什么方法找到的?
在网上看到了一种URI重写的方法,例如:web.jsp?id=aa&yy=bb,它会重写为aa_bb.jsp。这种重写的方法又是什么原理实现的呢?


------解决方案--------------------
學習
------解决方案--------------------
学习
------解决方案--------------------
说说自己的理解把,用户点击链接以后,经过浏览器的解析,然后浏览器将客户端的url和http的相关请求信息比如get,post方式以及一个参数,http头,等等这些通过http 协议发送到服务器,然后服务器通过对这些信息的解析找到用户请求的页面(根据配置文件),比如jsp页面,然后调用服务器的java虚拟机对jsp进行解析生成servlet.class文件,最后通过response将用户请求的页面发送到浏览器件,就是我们所看到的页面了,在这个过程中间服务器的作用生成一个request,将用户的参数等传给java虚拟机,然后充当了一个serlet容器而已,最后生成一个response把用户的结果返回到浏览器,这就是整个过程

至于url重写,有两种一种是通过redirect,把浏览器的请求内容外部定向到另外的一个url,这种情况我们可以看到浏览器上url的改变,另外一种是通过apache的内部子请求代理产生新的内容发送到客户端,这种情况下我门看不到url的改变,
------解决方案--------------------
不同版本的TOMCAT很不一样。