文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程JSPJSP学习经验总结
精品推荐
特别推荐
·什么是 JSP 技术?
·JSP简介
·JSP数据库操作例程
·新手入门:学习JSP的经典的入门学习资料
·由浅入深学习动态网页制作PHP的编程与应用
·输入汉字自动转为拼音(jsp实现方式)
·经验分享 JSP程序员完全蜕变手册
·JSP实战:JBuilder2005中创建数据库表
·新手入门:JSP基本语法与简单表单处理
·使用技巧:在JSP页面中的应用JavaBean
热点TOP10
·水晶报表的jsp实现
·对于JSP中表单数据存储的一种通用方法
·用JSP+JavaScript打造二级级联下拉菜单
·用JSP实现数据库图片的存储与显示实例
·struts基本知识:谈JSP与XML的交互
·对JSP数据库连接类使用方法的详细讲解
·输入汉字自动转为拼音(jsp实现方式)
·实例解析 在Eclipse3.2上部署JSP全过程
·实例讲解在JSP开发中的对象和范围属性
·配置Eclpise+Tomcat实现JSP编写与部署

JSP学习经验总结

日期:2008年2月1日 作者: 查看:[大字体 中字体 小字体]


一、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中调用了out.flush()或response.flushbuffer()
输出缓冲区的大小可以用:或response.setBufferSize()设置,如下:
设置输出缓冲区的大小为1KB。或response.setBufferSize(1);
设置输出缓冲区的大小为0,即不缓冲。或response.setBufferSize(0);
用response.getBufferSize()或out.getBufferSize()可取的输出缓冲区的大小,单位为字节. 用response.isCommitted()可检查看服务端是否已将数据输出到客户端. 如果返回值是TRUE则已将数据输出到客户端,是FALSE则还没有.

三、服务端输出重定向

有以下3种方法可以做到输出重定向:

RESPONSE.SETREDERECT("URL") 该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. response.sendRedirect("http://localhost:7001/index.html");
下面的方法也能改变HTTP HEADER属性,它的原理和 1 是一样的.
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
String newLocn="/index.html";
response.setHeader("Location",newLocn);
% >
采用<JSP:FORWORD> 该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果在<JSP:FORWORD>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意. 如下面的例子中(1)会输出index.html的内容,2 不会输出index.html的内容,而是输出out.println("@@@@@@@@@@@@@@@@@"); 中的内容,并且在服务端会抛出:java.lang.IllegalStateException: Response already committed 异常,但客户端没有任何错误输出。
(1)
<%@page buffer="1kb"%>

<%
long i=0;

for(i=0;i<10;i++)
{
out.println("@@@@@@@@@@@@@@@@@");
}
%>

<jsp:forward page="./index.html" />


(2)
<%@page buffer="1kb"%>

<%
long i=0;

[1] [2] [3] [4] 下一页 




上一篇:目前最好的JSP分页技术

下一篇:彻底搞定JSP在线人数

相关文章:
·教你学习如何破解XP登陆密码
·由浅入深学习Flash制作高射炮游戏
·网上英语学习资源大整理
·暑期英语学习之单词工具篇
·菜鸟学电脑 轻松学习Windows系统中的批处理
·学习绘图者必看--素描基础知识
·学习Word制作名片简单方法
·学习网页设计时要注意HTML向XHTML转化
·《Google排名技巧》共十五课学习笔记
·AIX 5L 学习大纲/简易教程(3)(未经许可,请勿COPY)
相关软件:
·洪恩轻松教你学电脑_internet学习
·鸟哥的linux私房菜:基础学习篇
·双向式英语学习法mp3+文档
·zemax教学视频和学习笔记
·走遍美国 视频+文本 学习英语的绝好资料
·第三阶段学习指南
·英语学习句型宝典完整版 WORD格式电子书
·新概念英语学习机 V3.06
·新概念英语学习机 V3.2
·新版CCNP 642-811学习中文笔记(上)

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot