当前位置: 代码迷 >> JavaScript >> jsp常会面试题(5)
  详细解决方案

jsp常会面试题(5)

热度:280   发布时间:2012-08-01 17:53:40.0
jsp常见面试题(5)
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里的东西没了,变成新的了

  相关解决方案