仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1380|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA编程:了解JSP中的include(一):include-fil...

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:31:30 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.include|js第一个例子:

include-file-test-1.jsp:

<%@pagecontentType="text/html;charset=GBK"%>
<%!Stringdec_str="dec_str";%>
<%=dec_str%><br>
<%@includefile="include-file-test-2.jsp"%><br>
<%=dec_str%><br>

include-file-test-2.jsp:

<%@pagecontentType="text/html;charset=GBK"%>
<%
dec_str="scr_str";//Eclipse显现堕落。
%>

了局:

dec_str

scr_str

结论:file1中界说的实例变量(或部分变量),file2能够援用并变动。但间接会见file2会堕落。



第二个例子:

include-file-test-1.jsp:

<%@pagecontentType="text/html;charset=GBK"%>

<%scr_str="hello"+scr_str;%>

<%@includefile="include-file-test-2.jsp"%>
<%=scr_str%><br>
<%temp="hello"+temp;%>
<%=temp%>

include-file-test-2.jsp:

<%@pagecontentType="text/html;charset=GBK"%>
<%!Stringscr_str="scr_str";%>
<%Stringtemp="temp";%>

检察file1对应的servlet:

packageorg.apache.jsp.jsp_002dsyntax_002dtest;

import……;

publicfinalclassinclude_002dfile_002dtest_002d1_jsp……{

Stringscr_str="scr_str";
privatestaticjava.util.Vector_jspx_dependants;

static{
_jspx_dependants=newjava.util.Vector(1);
_jspx_dependants.add("/jsp-syntax-test/include-file-test-2.jsp");
}

publicjava.util.ListgetDependants(){
return_jspx_dependants;
}

publicvoid_jspService(HttpServletRequestrequest,HttpServletResponseresponse)
throwsjava.io.IOException,ServletException{

……
try{
……

response.setContentType("text/html;charset=GBK");
……

scr_str="hello"+scr_str;
Stringtemp="temp";
……
out.print(scr_str);
temp="hello"+temp;
……

out.print(temp);
}catch(Throwablet){
……

}finally{
……
}
}
}

了局:

helloscr_str
hellotemp

结论:file2中界说的实例变量,file1能够在<%@includefile=""%>指令之前(或以后)援用并变动。

file2中界说的部分变量,file1必需在<%@includefile=""%>指令以后援用并变动。



第三个例子:

include-file-test-1.jsp:

<%@pagecontentType="text/html;charset=GBK"%>
<%!
Stringstr1="str1";
%>
<%
Stringstr4=str1+str2+str3;
%>
<%@includefile="include-file-test-2.jsp"%>
<%=str4%>

include-file-test-2.jsp:

<%@pagecontentType="text/html;charset=GBK"%>
<%!
Stringstr2="str2";
Stringstr3=str1+str2;
%>

file1对应的servlet:

packageorg.apache.jsp.jsp_002dsyntax_002dtest;

import……

publicfinalclassinclude_002dfile_002dtest_002d1_jsp……{


Stringstr1="str1";


Stringstr2="str2";
Stringstr3=str1+str2;

……

publicvoid_jspService(HttpServletRequestrequest,HttpServletResponseresponse)
throwsjava.io.IOException,ServletException{

……


try{
……
response.setContentType("text/html;charset=GBK");
……

Stringstr4=str1+str2+str3;

……
out.print(str4);
}catch(Throwablet){
……
}




了局:

str1str2str1str2



结论:file2其实不天生servlet,但个中的内容都被包括在了file1天生的servlet当中;file2自己也被增加进名为“_jspx_dependants”的Vector范例的类变量中。能够看到,在file2中界说的实例变量“scr_str”被转移到了file1天生的servlet中。可见Tomcat是以一种很耐人寻味的机制举行处置的。



学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-20 17:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表