首页 新闻 会员 周边

请大神帮忙指点迷津。jsp到servlet的原理,谢谢。

1
悬赏园豆:10 [待解决问题]

jsp在第一次被访问的时候会有.jsp→.java→.class这样的编译,形成了servlet。后面呢?第二次访问怎么进行的?是通过.jsp找对应的servlet,还是直接去访问的servlet? 

梦再笑的主页 梦再笑 | 初学一级 | 园豆:55
提问于:2019-10-04 14:35
< >
分享
所有回答(2)
0

只会.net,不会java,但是,好久好久没看见出现这样有意义的问题了,给题主加油。

ensleep | 园豆:1682 (小虾三级) | 2019-10-05 17:14
0

首先servlet和jsp在被虚拟机执行时都是加载的class文件,不同的在于jsp在第一次处理时首先转化为servlet类,然后最终转化为class文件,因此第二次被访问时(没有修改jsp情况下),虚拟机会直接执行第一次编译好的class文件

vcjmhg | 园豆:202 (菜鸟二级) | 2019-10-05 23:25

那照这样,既然已经编译好了.class,我将.jsp删除掉后,再次执行时应该还继续执行编译好的class啊。但实际会报错

 

支持(0) 反对(0) 梦再笑 | 园豆:55 (初学一级) | 2019-10-06 20:49

@梦再笑: 首先无论是jsp还是servlet本质上都是一个java类只不是是继承了特定抽象类的java类,举个例子,那你编写一个普通的java程序你把java源文件删了,那这个程序还能运行吗?因为你把jsp文件删除了,等于更改了源代码,编译器重新编译之后,上一次编译的类由于源文件没有,那也就不会生成对应的类,因此你在执行的时候会报错

支持(0) 反对(0) vcjmhg | 园豆:202 (菜鸟二级) | 2019-10-06 21:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册