站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题关于Jsp到Servlet的问题,老师没说明白,现在请教一下。

关于Jsp到Servlet的问题,老师没说明白,现在请教一下。

摘要: 关于Jsp到Servlet的问题,老师没说明白,现在请教一下。


今天学Jsp,老师说Jsp最终是会被转换成Servlet的。(我们用的IDE是:Eclipse+Lomboz)
我的理解是Jsp-Sevrlet-class,class被Jboss执行的。我的问题是:Jsp-Sevrlet是谁做的,是Jdk中的一个工具吗?(例如Javac),还是Lomboz做的。老师说是Lomboz。

但我想,如果是Lomboz做的话,那是不是有一个标准的,是不是同一个Jsp文件,用不同的插件,会得到不同的Sevrlet代码?

请教了。。。




理论上jsp能实现的东西,Servlet都能实现.只是jsp把静态的与动态的分开了,于是在项目的开发过程中,可由美工负责静态的html部分,java程序员负责动态的部分,从而提高了开发效率.知道这些就行了.


当JSP运行后, 看一下AP SERVER下, 有很多编译的.class文件, 名字和jsp文件名一样, 这些就是由jsp编译成的servlet. 你再把它反编译, 就可以看到, 其他是一个个servlet.


上面说的我知道,问题是:从Jsp到Servlet的工作是谁做的?是Lomboz还是JDK?


JBoss。


iambic() :
是Jboss完成的吗?

如果是这样,是不是同一个JSP文件,用不同的应用服务器,都会得到不同的Sevrlet代码?Sun是不是应该有个标准?


刚刚查了一下资料,
JSP一般的运行方式为:当服务器启动后,当Web浏览器端发送过来一个页面请求时,Web服务器先判断是否是JSP页面请求。如果该页面只是一般的HTML/XML页面请求,则直接将HTML/XML页面代码传给Web浏览器端。如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,如果该页面是第一次被请求、或不是第一次被请求但已被修改,则JSP引擎将此JSP页面代码转换成Servlet代码,然后JSP引擎调用服务器端的Java编译器javac.exe对Servlet代码进行编译,把它变成字节码(.class)文件,然后再调用JAVA虚拟机执行该字节码文件,然后将执行结果传给Web浏览器端。如果该JSP页面不是第一次被请求,且没有被修改过,则直接由JSP引擎调用JAVA虚拟机执行已编译过的字节码.class文件,然后将结果传送Web浏览器端。


是否得到相同的Servlet代码不是太重要。只要基于JSP的行为是正确的就可以了。


↑返回目录
前一篇: java应用程序打包发布
后一篇: 【请问】既然JBoss既是web容器又是EJB容器,那么为什么还要在Tomcat中调用EJB啊?