JSP的运行原理
JSP 实在servlet 之后发展起来的技术。
运行机制:
1:jsp文件提交服务器,服务器 (Tomcat),初始化 请求和响应对象 ,然后判断jsp文件是否存在 ,如果不存在 404 错误,存在 ,编译成为 。java 文件 ----》。class 文件 。就是一个java的类 ,这个类 ,继承自 httpjspbase ,这个httpjsppage类 又 实现了黄土坡:servlet 的接口 ,说到底 ,jsp页面 被转化成了一个sevlet 类 的实例 。
2:在jsp页面里面 ,首先用JspFactory的getDefaultFactory()方法获取容器实现 的一个JspFactory对象的引用。JspFactory是javax.servlet.jsp包中定义的一个抽象类,其中定义了两个静态方法set/getDefaultFactory()。set方法由JSP容器(Tomcat)实例化该页面Servlet 的时候置入。
在这里可以看见 内置对象
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html;charset=ISO-8859-1");
pageContext = _jspxFactory.getPageContext(this, request, response,null, true, 8192, true);
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
上面就是用本次请求,给内置对象赋值 。所以在jsp 页面可以调用。
下面是我在网上看见的...感觉 写的比较好 ...
JSP的运行内幕
http://www.yuzi.net 2006-5-18 9:11:30
经常有朋友问起,JSP和Servlet之间有什么区别,两者之间又有什么联系?其实Servlet技术的出现时间很早,是当时为了Java的服务器端应用而开发的。大家都知道Applet是应用小程序,Servlet就是服务器端小程序了。但在Microsoft公司的ASP技术出现后,使用Servlet进行响应输出时一行行的输出语句就显得非常笨拙,对于复杂布局或者显示页面更是如此。JSP就是为了满足这种需求在Servlet技术之上开发的。可见,JSP和Servlet之间有着内在的血缘关系,在学习JSP时,如果能够抓住这种联系,就能更深刻地理解JSP的运行机理,达到事半功倍的效果。
本文将通过对一个JSP运行过程的剖析,深入JSP运行的内幕,并从全新的视角阐述一些JSP中的技术要点。
HelloWorld.jsp
我们以Tomcat 4.1.17服务器为例,来看看最简单的HelloWo
相关文档:
复选框的使用及JSP对数据的处理
<!--
Description: HTML表单复选框及JSP处理测试
Author: pxzl
Date: 2009-08-05 15:12:43
-->
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String[] cheArray1=request.getParameterValues("chkbox1");
String[] cheArray2=req ......
member.jsp //session限制访问页
<%
String url = ""
if(session.getAttribute("username")==null)
{
url = myRedirect.dealurl(request);//记录当前地址和请求参数,dealurl将实际url处理了避免和要请求url有干扰,因为会有& 字符
......
之前,写过一个Download.jsp文件,能解决下载文件乱码问题(诸如:DOC,XSL文件等等).
后来发现,遇见中文名的文件的时候,文件下载将会报错~~~~
今天,通过改写原Download.jsp文件已完全解决了这个问题~
目前,把一整套的文件上传下载的方法给贴出来~~~以便大家借鉴!~!~!~!~!
作者:古埃及法老
------------------------ ......
上课老师讲解了jsp分页 ,关于计算总页数
他的算法是 totalPage=(totalRecords+pageSize-1)/pageSize; 他说如果不好理解,就用 i f else 判断。
下课看书
偶然想起了以前,的一个算法
totalPage=(totalRecords%pageSize==0)? (totalRecords/page ......
JSP 如何实现网页定时跳转:
<script language="javascript">
<!--
setTimeout("document.location.href='http://www.163.com'",3000);
//-->
</script>
刷新:
<meta http-equiv="Refresh" content ......