jsp在Web服务器上的运行过程是什么

2024-11-23 00:02:02
推荐回答(4个)
回答1:

以jsp为例吧。

用户向web服务器以HTTP请求的形式请求资源。HTTP请求中有几个重要的参数,一个是请求方法GET还是POST还是其它,请求的URL是Sample.jsp。

服务器得到这些请求后对参数进行分析,如/Sample.jsp的URL请求,这个请求一般会映射一个jsp页面或servlet,服务器会把浏览器的HTTP请求打包提供给index.jsp来运行(注意,jsp最终会被编译为可运行的类文件,它的任务是说明向浏览器发送什么数据)

jsp或servlet运行的结果就是向浏览器回送一次HTTP回应,这个回应也包括一些参数和最后的正文,正文的内容就是html语言了。浏览器对html进行解释,html正文里还有一些资源如如,浏览器会再一次对服务器进行请求,不过对于图片这些静态内容,服务器是会直接返回的(不会经过jsp或servlet的)

一次完整的动态web交互就完成了 :HTTP请求-》服务器处理-》HTTP回应

如果觉得这个是那么回事就给点分撒,呵呵

回答2:

二楼说得挺详细 ,我补充一点认为比较重要:web服务器有一个线程池监听,当用户请求jsp会分配一个线程运行jsp编译后的servlet.之后就是servlet生命周期。理解线程有助于实际项目中问题分析。

回答3:

jsp文件不可以直接运行
jsp文件先解释成servlet文件,再编译成.class的字节码文件,字节码文件可以直接在jVM上运行

回答4:

当请求JSP时,Web容器会检查当前jsp和Servlet是否一致。如果jsp还没有转化成Servlet,或者前一次转化后有修改过,Web容器会重新执行Servlet的生成。他将jsp转会为等价的Servlet源文件,然后调用java编译器编译成class文件,在重新加载并调用这个Servlet进行请求,但如果二者一致,Web容器会直接调用之前生成的Servlet进行处理