导航:首页 > 编程语言 > jsp修改文件时间

jsp修改文件时间

发布时间:2023-12-23 17:09:57

jsp的工作原理

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()中释放相应的资源。

<%!
public void jspInit()
{
System.out.println("jspinit");
}

%>

<%!
public void jspDestory()
{
System.out.println("jspDestory");
}
%>

㈡ jsp的执行过程是怎样的

JSP的执行过程

JSP的执行过程主要可以分为以下几点:

客户端发出请求。

Web容器将JSP转译成Servlet源代码

Web容器将产生的源代码进行编译。

Web容器加载编译后的代码并执行。

把执行结果响应至客户端。

过程介绍

客户端发出请求,请求为JSP,web容器就会找出相应的servlet进行处理。

将servlet转成字节码文件。

将字节码文件加载到web容器里。

这时会在web容器里建立实例。

进行初始化。

通过service接受请求。

然后web容器会自动产生两个对象servlet和service最后进行销毁。

(2)jsp修改文件时间扩展阅读:

JSP的运行原理

WEB容器(Servlet引擎)接收到以。jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。

每个JSP页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。

Tomcat 5.x把为JSP页面创建的Servlet源文件和class类文件放置在“&lt;TOMCAT_HOME&gt;workCatalina&lt;主机名&gt;&lt;应用程序名&gt;”目录中,

Tomcat将JSP页面翻译成的Servlet的包名为org.apache.jsp.&lt;JSP页面在WEB应用程序内的目录名&gt;。

JSP规范也没有明确要求JSP中的脚本程序代码必须采用Java语言,JSP中的脚本程序代码可以采用Java语言之外的其他脚本语言来编写,但是,JSP页面最终必须转换成Java Servlet程序。

可以在WEB应用程序正式发布之前,将其中的所有JSP页面预先编译成Servlet程序。

㈢ jsp修改以后为什么不需要重启服务器

servlet和jsp本质都是servlet,运行时都是运行.class文件。但是它们的部署方式不一样。
servlet是先编译后部署,修改完以后,MyEclipse进行编译,然后部署.class文件到servlet容器中。如果web服务器已启动,则之前class已被servlet容器加载,可能修改后的class文件不会被servlet容器执行。
而jsp是web服务器进行编译。加载时当场编译的,而不是预先编译好,tomcat可以设置为监视jsp文件的改动,改动之后则重新编译、执行。所以jsp是改动时,不需要重启服务器。

㈣ 在JSP中实现读取文件并修改文件的功能

你可以学习一下IO的相关知识,这里我写一个简单的列子你参考一下吧

<%
StringfileName="D:"+File.separator+"hello.txt";
Filef=newFile(fileName);
OutputStreamout=newFileOutputStream(f);
Stringstr="你好";
byte[]b=str.getBytes();
out.write(b);
out.close();
%>

㈤ 如何修改类文件和jsp页面后不用重启tomcat就可以自动加载呢

既然你用了IDE,那抄就再简单不过了,不袭要去修改任何tomcat配置文件。
在My(Eclipse)中启动tomcat时,用debug模式。

这时候有两种修改是完全不需要重启tomcat的:
1. 修改jsp文件
2. 修改java类中,方法内部的代码

然而,如果要给java类添加一个新的属性,添加一个新的方法,修改方法的签名(方法名,参数,返回值)等等,是无论如何都不可能直接生效的,这时候你就需要restart或者redeploy。

最后再谈一下reloadable="true"这个参数,当你修改了java文件后,tomcat会自动redeploy,而不是直接生效,很多时候redeploy花费时间和restart差不了多少。

㈥ 当jsp文件改变时,tomcat需要重新启动吗

一般来讲都不需要重启
尤其是JSP,因为JSP是更新之后重新编译的
JAVA Bean一般也不需要回
主要是配置文件(例如答XML)改变的时候,需要重新启动。

不过有些时候JSP改变,界面不会立刻改变,这是由于IE的网页缓存造成的。读取相同资源的时候,会优先读取本地的文件。
如果遇到这种情况,多刷新几次就好了

最好是重新部署,大傻猫有时候会偷懒

阅读全文

与jsp修改文件时间相关的资料

热点内容
口袋妖怪银魂安卓v11 浏览:1
网站上芒果tv的账号都是什么 浏览:104
带公式的表格如何刷新数据 浏览:81
数据标注语音和2d哪个好 浏览:145
保存excel文件的方法 浏览:655
手机上看不到电脑上的文件 浏览:626
关于ps的微信公众号 浏览:612
矩阵论教程 浏览:971
字体文件分系统吗 浏览:921
编程一级考试要带什么证件 浏览:923
extjs表格修改前数据 浏览:612
什么是数据库的函数 浏览:722
oppo手机怎么用数据线连接电脑 浏览:247
恒智天成备份文件在哪里 浏览:976
电脑没联网怎么拷贝文件 浏览:224
wps工具栏怎么换成中文 浏览:338
win7和xp共享文件 浏览:883
苹果4代音量键没反应 浏览:827
怎样打开tif文件 浏览:153
java下载文件zip 浏览:440

友情链接