try:(1)声明:此问题目前只针对welogic application server 7(2)问题根源:
    问题其实是weblogic application server 7自身默认配置造成的。在没有特别指明的情况下(也就是没有在weblogic.xml设置jsp-param的workdingDir值的情况下,其目录是指定到%wls_home%/user_projects\mydomain\myserver\.wlnotdelete\%user_webapp_name%\jsp_servlet。这里存放jsp被jsp引擎编编译后的.class文件。如果jsp没有改动,而且这些.class文件还存在这里的话,那么weblogic server启动后,那些jsp文件就不需要经过重新编译成servlet文件了。但是,weblogic server启动后,会把wls_home%/user_projects\mydomain\myserver\.wlnotdelete目录删除,然后重新建立一个.wlnotdelete文件夹及目录下的user_webapp_name目录。这样就造成了所有上一次编译后的jsp必须重新编译了。
(3)解决办法
    将workingDir变量重新指定到一个新目录,即可。目前我所指定到的目录是applications\risenet50\jspclasses。如下面所示:
        <weblogic-web-app>
          <jsp-descriptor>
            <jsp-param>
              <param-name>workingDir<param-name>
              <param-value>applications\risenet50\jspclasses</param-value>
            <jsp-param>
          </jsp-descriptor>
       </weblogic-web-app>
    这样会在目录%wls_home%\user_projects\mydomain\applications\risenet50\jspclasses存放编译jsp以后的class文件。(声明,这里是以%wls_home%\user_projects\mydomain为相对路径的)
    如果在weblogic.xml将jsp-param-keepgenerated设置为true,则同目录还没有jsp生成的java文件。