Quando colocamos um JSP no servidor (Tomcat, JBoss, cia…) a primeira vez que ele é executado ele é compilado para um servlet.
Existe uma mandeira de eu compilar esses JSP antes de por a aplicação para rodar no servidor? Pergunto isso pois todas as alterações que eu faço, publico no meu cliente e etc, ele fica meio bravo porque a primeira vez demora para abrir, então se houver uma maneira de evitar isso seria melhor.
Esse teu cliente nao tem mais o que fazer da vida neh?
Vc pode passar precompile=true na url, como eh “pagina.jsp?precompile=true”
Rafael
gulira
alex.lopes:
Quando colocamos um JSP no servidor (Tomcat, JBoss, cia…) a primeira vez que ele é executado ele é compilado para um servlet.
Existe uma mandeira de eu compilar esses JSP antes de por a aplicação para rodar no servidor? Pergunto isso pois todas as alterações que eu faço, publico no meu cliente e etc, ele fica meio bravo porque a primeira vez demora para abrir, então se houver uma maneira de evitar isso seria melhor.
Existe?
Obrigado
Você utiliza o WAR para distribuir as suas aplicações WEB???
Se sim o Ant faz isto para você com a task jspC más isto só server se você utilizar o container Tomcat…
A
alex.lopes
gulira:
Você utiliza o WAR para distribuir as suas aplicações WEB???
Se sim o Ant faz isto para você com a task jspC más isto só server se você utilizar o container Tomcat…
Sim, está tudo empacotado em um WAR e estou rodando utilizando o Tomcat.
vc faz o jsp, publica ele e não acessa??? acessa o seu jsp antes do maldito e pronto, dai jah vai estar compilado… ehehehehe…
((;
rvaldomiro
Meu build file é este aki:
<projectname="Webapp Precompilation"default="all"basedir="."><propertyname="tomcat.home"value="C:/Arquivos de programas/Apache Software Foundation/Tomcat 5.0"/><propertyname="webapp.path"value="${tomcat.home}/webapps/unissul"/><propertyname="java.home"value="C:/Arquivos de programas/j2sdk1.4.2_06"/><targetname="jspc"><taskdefclassname="org.apache.jasper.JspC"name="jasper2"><classpathid="jspc.classpath"><pathelementlocation="${java.home}/lib/tools.jar"/><filesetdir="${tomcat.home}/server/lib"><includename="*.jar"/></fileset><filesetdir="${tomcat.home}/common/lib"><includename="*.jar"/></fileset></classpath></taskdef><jasper2validateXml="false"uriroot="${webapp.path}"webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"outputDir="${webapp.path}/WEB-INF/classes"/></target><targetname="compile"><mkdirdir="${webapp.path}/WEB-INF/classes"/><mkdirdir="${webapp.path}/WEB-INF/lib"/><javacdestdir="${webapp.path}/WEB-INF/classes"optimize="off"debug="on"failonerror="false"srcdir="${webapp.path}/WEB-INF/classes"excludes="**/*.smap"><classpath><pathelementlocation="${webapp.path}/WEB-INF/classes"/><filesetdir="${webapp.path}/WEB-INF/lib"><includename="*.jar"/></fileset><pathelementlocation="${tomcat.home}/common/classes"/><filesetdir="${tomcat.home}/common/lib"><includename="*.jar"/></fileset><pathelementlocation="${tomcat.home}/shared/classes"/><filesetdir="${tomcat.home}/shared/lib"><includename="*.jar"/></fileset></classpath><includename="**"/><excludename="tags/**"/></javac></target><targetname="all"depends="jspc, compile"/></project>
tomara que ajude :roll:
rvaldomiro
Alguém pode nos socorrer
Abraços!
T
thingol
Mais uma coisinha - quando você faz isso, ele põe os servlets compilados em um determinado diretório.Só que o Tomcat não sabe que eles estão lá (ele acha que tem de procurar lá no work\Catalina\localhost\suaaplicacao ) , e tenta recompilar o tal do JSP de qualquer maneira. (Convenhamos que é meio tosco mesmo)Para que funcione mesmo, você precisa mexer no web.xml e pôr as referências aos servlets gerados. (dica: procure esse arquivo generated_web.xml que o Jasper gerou. Copie o que for necessário dentro do web.xml da sua aplicação.)
rvaldomiro
:cry: :cry:
Meu build file está assim:
<?xml version="1.0" encoding="iso-8859-1" ?><!-- Build File para geração dos pacotes de produção em projetos web. --><projectname="radar"basedir="../.."default="jspc"><propertyname="root.dir"value="${basedir}/site"/><propertyname="dist.dir"value="${basedir}/dist"/><propertyname="war.arquivo"value="${dist.dir}/radar.war"/><propertyname="web.descritor"value="${root.dir}/WEB-INF/web.xml"/><propertyname="web.lib"value="${root.dir}/WEB-INF/lib"/><propertyname="deploy.dir"value="${basedir}/classes"/><propertyname="tomcat.home"value="C:/Arquivos de programas/Apache Software Foundation/Tomcat 5.0"/><propertyname="shared.classes"value="${tomcat.home}/webapps/radar/WEB-INF/classes"/><targetname="criarWar"description="Cria o arquivo de distribuição da aplicação web em produção"><deletefile="${war.arquivo}"/><copytodir="${root.dir}/WEB-INF/classes"><filesetdir="${root.dir}/reports"includes="*.class"/></copy><wardestfile="${war.arquivo}"webxml="${web.descritor}"><filesetdir="${root.dir}"excludes="**/*.jrxml, reports/*.class"/></war></target><targetname="jspc"><taskdefclassname="org.apache.jasper.JspC"name="jasper2"loaderref="jspc"><classpathid="jspc.classpath"><pathelementlocation="${java.home}/../lib/tools.jar"/><filesetdir="${tomcat.home}/server/lib"><includename="*.jar"/></fileset><filesetdir="${tomcat.home}/common/lib"><includename="*.jar"/></fileset></classpath></taskdef><jasper2validatexml="false"uriroot="${root.dir}"webxmlfragment="${root.dir}/WEB-INF/generated_web.xml"outputdir="${root.dir}/WEB-INF/classes"/></target></project>