每次访问jsp都要编译
⑴ JSP页面是不是需要重新编译
不需要 jsp页面只是个前台页面而已 你只需要引入js jqury 等jar包路径就可以 求采纳
⑵ jsp文件需要编译吗如果需要,那么编译过程是怎么样的
jsp文件需要编译成servlet在web容器中运行的。
编译过程如下:
1、用户访问jsp页面时,jsp的处理过程如下图所示:
2、编译阶段
预处理阶段把jsp文件解析为java代码,编译阶段jsp引擎把java代码编译成servlet类文件,对于Tomcat,生成的class文件默认情况下存放在<Tomcat>/work目录下。
⑶ jsp为什么会编译一次
你先熟悉一下jsp 的工作原理吧,
在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功, JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用, 然后servlet实例便被标记加入"垃圾收集"处理。 jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源
⑷ 什么是 jsp 的预编译特征
1.2 JSP技术特征
JSP技术所开发的Web应用程序是基于Java的,它拥有Java语言跨平台的特性,以及业务代码分离、组件重用、基础Java Servlet功能和预编译等特征。
1.2.1 跨平台
既然JSP是基于Java语言的,那么它就可以使用Java API,所以它也是跨平台的,可以应用在不同的系统中,如Windows、Linux、Mac和Solaris等。这同时也拓宽了JSP可以使用的Web服务器的范围。另外,应用于不同操作系统的数据库也可以为JSP服务,JSP使用JDBC技术操作数据库,从而避免了代码移植导致更换数据库时的代码修改问题。
正是因为跨平台的特性,使得采用JSP技术开发的项目可以不加修改地应用到任何不同的平台上,这也应验了Java语言的"一次编写,到处运行"的特点。
1.2.2 业务代码分离
采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。程序开发人员可以将业务处理代码全部放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其他业务控制层来处理,从而实现业务代码从视图层分离。这样JSP页面只负责显示数据即可,当需要修改业务代码时,不会影响JSP页面的代码。
1.2.3 组件重用
JSP中可以使用JavaBean编写业务组件,也就是使用一个JavaBean类封装业务处理代码或者作为一个数据存储模型,在JSP页面甚至整个项目中都可以重复使用这个JavaBean。JavaBean也可以应用到其他Java应用程序中,包括桌面应用程序。
1.2.4 继承Java Servlet功能
Servlet是JSP出现之前的主要Java Web处理技术。它接受用户请求,在Servlet类中编写所有Java和HTML代码,然后通过输出流把结果页面返回给浏览器。其缺点是:在类中编写HTML代码非常不便,也不利于阅读。使用JSP技术之后,开发Web应用便变得相对简单快捷多了,并且JSP最终要编译成Servlet才能处理用户请求,因此我们说JSP拥有Servlet的所有功能和特性。
1.2.5 预编译
预编译就是在用户第一次通过浏览器访问JSP页面时,服务器将对JSP页面代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,直接执行编译好的代码。这样不仅节约了服务器的CPU资源,还大大提升了客户端的访问速度
⑸ jsp什么时候需要编译什么时候不需要
jsp要转换成servlet,servlet才能经过编译class文件 在调用构造方法,init方法等。jsp只要没有被改动,就不用编译,
⑹ 使用eclipse每修改一次jsp或者java等文件,eclipse就编译整个项目
eclipse可以设置部分编译的,之编译改动过的java或者jsp页面。
1、设置自动编译:
打开路径:project->build automatically;
如果不会编译的话检查工程项目上有没有打小红叉,项目报错时,eclipse是不自动编译的。
2、去build目录下把编译好的class文件直接放到tomcat的catlina目录下重启服务运行。
⑺ 怎样令jsp每次执行时都能重新被编译一遍
想要将我们自己的jsp文件上传到EBS中并在EBS的容器内运行,通常情况下你需要如下几部操作:将你的jsp文件通过FTP上传至$OA_HTML下,为这个jsp文件在EBS中定义一个功能(即Function)将该功能指定到一个你的用户所拥有的职责可以访问的菜单下当你运行的时候,你很可能会遇到找不到java类如下错误:javax.servlet.ServletException: oracle.classloader.util. 解决方案导致找不到java类的原因是这个jsp根本就没有被编译,有人说jsp在Apache服务器中是在运行时时自动编译运行的。秘密就在$INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml这个配置文件中,修DEVELOPER_MODE和Main_Mode节点的值修改为如下所示:<param-name>developer_mode</param-name> <param-value>true</param-value> <param-name>main_mode</param-name> <param-value>recompile</param-value> 然后运行下面的命令重启HTTP服务器:$ADMIN_SCRIPTS_HOME/adapcctl.sh stopall $ADMIN_SCRIPTS_H
⑻ Jsp文件运行时先被预编译为什么文件;
首先要说吗jsp的本质,jsp本质是servlet的一种实现方式。
那么既然是servlet,也就是说是java类,类的定义文件是.java 格式 例如: test.java
那么以.jsp结尾的格式的文件肯定就不是java 类了啊。那么怎么转换成java类呢。
好的 先根据.jsp文件转换成.java文件。生成了java文件也就是java类了,那么jsp就被编译成了class文件了
⑼ 关于JSP文件的编译环境
1.jsp文件只能在Java Web服务器中进行编译,比如Tomcat,JBoss。这些服务器提供了servlet容器,只能通过Servlet容器创建JSP页面。
2.JSP不需要学习英语,总共也没有几个单词,看字母也能看会。
3.即使是一个纯粹的美工学习JSP也最好对Java有所了解。负责很容易弄错。
4.JDK是一个Java的运行加开发环境,不可能直接运行的,需要配置JDK来使Tomcat能够正常运行。
5.JSP文件放在Tomcat的指定目录下才能被执行。
综上所述:建议楼主稍微系统的了解一下Java Web编程,网上学习视频多得是,随便找一个看看。
⑽ jsp源代码的编译
jsp 是一个 内容生成与表示分离的技术,他实际还是一个Servlet .
JSP程序要运行于特定的Web服务器中,例如Tomcat、WebLogic Server。
每次访问JSP时,服务器会把JSP程序编译为一个Java类,这个Java类有特定的名称,即Servlet.