jsp常见面试题(5)
JSP的容器是TOMCAT,如果我们要发布一个网页,我们把它发布到TOMCAT的webapps(web应用)目录下。这个目录下必须有一个WEB-INF(文件夹,必须是大写的),这里放一个web.xml文件。.F!uD
JSP的三种脚本:+cVdDu 1.表达格式:<%= %>HUlP ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 - 2.servlet格式:<% %>1Uz? ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 # 3.声明格式:<%! %>I`C ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 [y JSP的标签D#wT= 指令/动作V<qs 指令标签:page/include/taglib(这三个是最常用的),一个指令,对JSP的设定和要求。kiP18{ 1.Page:用来定义整个JSP页面的一些属性和这些属性的值。OB[F 如:<%@ page contentType=”text/html;charset=GB2312”%>4|"# 2.page指令的格式:<%@ page 属性1=”属性1的值” 属性2=”属性2的值”…%>`i{3m7 属性值总是用单引号或双引号括起来,import属性在一个页面可以设置多次,其它的在一个页面中只能设一次。2,h1' 3.当你为import指定多个属性值时,JSP引擎把JSP页面转译成的JAVA程序中导入那些包…T! 4.在一个JSP页面中,也可也使用多个page指令来指定属性及其值。需要注意的是:可以使用多个page指令给属性import几个值,但其它属性只能使用一次page指令指定该属性一个值。a8I& 5.下面是错的:<%@ page contentType=”text/html;charset=GB2312”%>]GX)c <% @ page contentType=”text/html;charset=GB2312”%>.g# :<%@ page languane=”java”%>现在只有JAVA一个值.2 :有些包不用import引入,java.lang.*;/javax.servlet.*/javax.servlet.jsp.*/javax.servlet.http.*b$p? ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 ,*R- contentType:@8_d& 作用:定义JSP页面响应的MIME(Multipurpose Internet Mail Extention)类型和JSP页面字符的编码。i' 一般形式:”MIME类型”T{7*C “MIME类型;charset= 编码”j|9he 如:<%page contentType=”text/html;charset=GB2312”%>PyN 默认值:contentType=”text/html;charset=GB2312”(hYa ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 P?Se Session属性:yZM3 作用:用于设置是否需要使用内置的session对象。eu.XD@ 我们一般不关闭它。<b*M,+ ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 Y Buffer属性:My 设置out的缓冲区的大小或不使用缓冲区 ua6m 默认值是8kb.|[<~$} 可以取值”none”,一般不变。wLVg ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 dG autoFlush属性_ 指定out的缓冲区被填满时,缓冲区是否自动刷新。^4 取值:true(默认)/false(这样设,是表明你要自已手动控制。如果满,出现缓存溢出异常)。k: ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 D isTreadSafe9=% 用来设置JSP页面是否可多线程访问。c~K 取值:true(默认)/false。[IE(I\ ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 awA info?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 *fn 为JSP页面准备一个字符串,属性值是某个字符串。! 例如:<%@ page info=”we are students”%>6Htk4 示例:(没打完!!!)A=30 <%@ page contentType=”text/html;…”%>K\dPU3 <%@ page info=”我!张惠妹。”%>6E <HTML>ihTp"m <BODY bgcolor=cyan><FONT SIZE=5>Eul|Nl <P>谁呀?OA- <% …%>}afz </p>x </body>%Cu$ </html>W><E ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 @@nL ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 r ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 s@-':N ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 xA0 Include指令标签R 在JSP页面出现该指令的位置处,静态插入一个文件。S <%@ include file=”文件的名字”%>8T<so 注意:被插入文件必须是可访问的,并且在根内,就是目录以内的。不能超出。# <html>T`3 <head>_c#o# <title>标签示例</title>??J&@ </head>K`go <body bgcolor=cyan>1h;B5 <h3>fbKct} <%@ include file="Hello.txt"%>~,9 </h3>m;^ </body>X.#7" </html>O}}md ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 >+Oy Include动作标签U@}i 告诉JSP页面动态包含一个文件oG7;g/ 格式:<jsp:include page=”文件的名字”/>%C(; 或:<jsp:include page=”文件的名字”>3EkK </jsp:include>3b 示例:<html xmlns="http://www.w3.org/1999/xhtml">R <head>>JMn}7 <%@ page language="java" contentType="text/html; charset=GB18030"[ pageEncoding="GB18030"%>A!ZSB <meta http-equiv="Content-Type" content="text/html; charset=GB18030" />kE <title>用Include动作标签来显示中文</title>=rK </head>d 4 <body bgcolor=cyan><font size=1>t_M <p>加载的文件:1Vi@eY <jsp:include page="Hello.txt"/>3 </body>!T </html>W Hello.txt的内容:{B\q <H4>你好,祝学习进步!VX_low <BR>ipnuJSP要有Java语言的基础。MN <br>要认真学习JSP的基本语法。:2 </h4> K }?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 A=%`wD ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 (7gx Param动作标签"@]uSt 以“名字――值”对的形式国其它标签提供附加信息,与jsp:include、jsp:forward、jsp:plugin标签一起使用.&g 示例:L ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 ,)8\M ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 =wLK Forward动作标签2L{% 从该指令处停止当前页面的继续执行,而转向另一JSP页面Zq:" 格式:9D+0Q6 练习:首先随机获取一个数,如果该数大于0.5就转向页面A.jsp;否则转向页面B.jsp0o A.jsp存放在DemoForward/Myfile下z B.jsp存放在DemoForward/下XRq( DemoForward.jsp存放在DemoForward/下,nI 结果没有出来,因为目录没有设置S <html xmlns="http://www.w3.org/1999/xhtml">S#-6 <head>a" <%@ page language="java" contentType="text/html; charset=GB18030"tGt pageEncoding="GB18030"%>hm <meta http-equiv="Content-Type" content="text/html; charset=GB18030" />K8^ </head>0r <body bgcolor=cyan>n hwE <%double i=Math.random();s_3Z:' if(i>0.5){%>gH <jsp:forward page="myfile/a.jsp"></jsp:forward>24&c <%C8m.5% }else{ ow %>1\ <jsp:forward page="b.jsp"/>> <%}%>pF9# </body>% </html>\[2 ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 zO& JSP内置对象2z+t out/request/response/application/pageContext/page/session/configCo 在JSP中不需要声明,可以直接使用。Z/ ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 gBs8v Out?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 mJ4a 常用方法:out.print()/out.println()/out.newLine()/out.flush()把缓冲区中的内容输出到屏幕/out.close():Ufx ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 8,zr Request对象@Of+X_ 封装了用户提交的信息3 调用相应的方法可以获取封装的信息` 客户端向服务器发送一个请求(request),服务器应答(response)o Request:我们可以从它里面得到用户的输入。' <form action=”tom.jsp” method=”post”>m6 <input type=”text” name=”boy” value=”ok”>//boy代表用户输入的值6gN(C <input type=”submit” value=”送出” name=”submit”>Ph6 ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 15L 接收:String str=request.getParameter(“boy”);对应表单中的name ZN{u^ 练习: 通过表单向accept.jsp提交一个正数,然后由accept.jsp计算这个数的平方根并显示+sB,0 ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 LP+U 获取客户提交的信息Fe0= String textContent=request.getParameter(“girl”);<}L If textContent=””)>w,E {…}?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 y{Ic ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 >ip 处理汉字信息UGY ?中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛 ` Response重定向:dpU` Response.sendRedirect(URL url)gJYm|s 作用:将客户重新引导至另一个页面,原来request里的东西没了,变成新的了 |