jsp常见问题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.jsp有哪些常用内置对象?作用分别是什么?
答:JSP共有以下5种常用基本内置组件:
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
session 与请求有关的会话期
application servlet 正在执行的内容
out 用来传送回应的输出
2.jsp有哪些动作?作用分别是什么?
答:JSP共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
3.forward 和redirect的区别
答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
4.JSP中动态INCLUDE与静态INCLUDE的区别?
答:动态INCLUDE用jsp:include动作实现 “〈jsp:include page="included.jsp" flush="true" /〉”
它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面,“〈%@ include file="included.htm" %〉”
5.两种跳转方式分别是什么?有什么区别?
答:有两种,分别为:〈jsp:include page=included.jsp flush=true〉 和〈jsp:forward page= nextpage.jsp/〉
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.
后者完全转向新页面,不会再回来。相当于go to 语句。
===========================================================
1.Servlet API 为使用Cookie,提供了(a)类。
A Javax.servlet.http.Cookie
B Javax.servlet.http.HttpCookie
C Javax.servlet. Cookie
D Javax.servlet.http. HttpCookie
2. http是一个(a)协议
A.无状态
B.有状态
C.状态良好的
D.局域网
3、Servlet程序的入口点是:(a)
A、init()
B、main()
C、service()
D、doGet()
4.Servlet从实例化到消亡是一个生命周期。下列描述正确的是(b)。
a) 在典型的Servlet生命周期模型中,每次Web请求就会创建一个Servlet实例,请求结束Servlet就消亡了
b) init()方法是包容器调用的Servlet实例的第一个方法
c) 在包容器把
请求传送给Servlet之后,和在调用Servlet实例的doGet或者doP
ost方法之前,包容器不会调用Servlet实例的其他方法
d) 在Servlet 实例消亡之前,包容器调用Servlet实例的close()方法
5.下列那个类是抽象类(b)
A ServletConfig
B HttpServlet
C Cookie
D HttpServletRequest
6. Http协议的状态码(d)表示文件没有创建
A 200
B 400
C 500
D 404
7.在HTTP协议中,用于发送大量数据的方法是(b)
A get
B post
C put
D options
8.在JSP中,只有一行代码:<%=A+B%>,运行将输出(d)。
a) A+B
b) AB
c) 113
d) 没有任何输出,因为表达式是错误的
9. 在JSP中,以下的page指令设置了使用的脚本语言是Java,且导入了java.rmi.*和java.util.*包.正确的是(d).(选择一项)
a) <%@ page Language=“Java”,import=”java.rmi.*;java.uitl.* ”%”>
b) <%@ page language=“Java” Import=”java.rmi.*,java.uitl.* ”%”>
c) <%@ page language=“Java”;import=”java.rmi.*;java.uitl.* ”%”>
d) <%@ page language=“Java” import=”java.rmi.* ,java.uitl.* ”%>
10.在JSP中,<%=”1+4” %>将输出(a)。
a) l+4
b) 5
c) 14
d) 不会输出,因为表达式是错误的
11.在JSP中,page指令的(b)属性用来引入需要的包或类。
a) extends
b) import
c) languge
d) contentType
===========================================================================
1、在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为( )。
A..jsp文件 B..class文件 C..jar文件 D.web.xml文件
2、在JSP中要使用user包中的User类,则以写法正确的是( )。
A.<jsp:useBean id="user"class="er"scope="page"/>
B. <jsp:useBean class="e.class"/>
C.<jsp:useBean name="user"class="er"/>
D.<jsp:useBean id="user"class="user"import="user.* "/>
3、在web.xml中,有如下代码:
<session - config>
<session - timeout>30</session - timeout>
</session - config>
上述代码定义了默认的会话超时时长,时长为30( )。
A.毫秒 B.秒 C.分钟 D.小时
4、JSP 中,用于创建对话的是( )。
A.HttpServletRequest类的getSession方法
B.HttpServletResponse类的newSession方法
C.HtttpSession类的newInstance方法
D.HttpSession类的getSession方法
5、以下可用于检索session属性userid的值的是( )。
A.session. getAttribute ("userid");
B.session. setAttribute ("userid");
C.request. getParameter ("userid");
D.request. getAttribute ("userid");
6、Servlet可以在三个不同的作用域存储数据,它们是( )。
A.请求、
会话和上下文 B.响应、会话和上下文
C.请求、响应和会话 D.请求、响应和上下文
7、假如HttpSession的getLasAccessTime()方法返回值为x,getCreationTime()方法返回值为y,则为x - y( )。
A.两个连续请求之间间隔的最长时间
B.最近
的两个连续请求之间的时间间隔
C.最后使用session发送请求的时间和session创建时间的间隔
D.最后使用session发送请求的时间
8、HTTP是一个( )。
A.无状态 B.有状态 C.状态良好的协议 D.局域网协议
9、 HTTP协议的状态码表示文件没有创建的是( )。
A.200 B.400 C.500 D.404
10、在HTTP协议中,用于发送大量数据的方法是( )。
A.get B.post C.put D.options
answer:
1、A 2、A 3、C 4、A 5、A
6、A 7、C 8、A 9、D 10、B
============================================================================
11、在JSP中,以下的page指令设置了使用的脚本语言是Java,且导入了java.rmi.*和java.util.*包,正确的是( )。
A.<%@ page Language="Java",import="java.rmi.*;java.uitl.* "%>
B.<%@ page language="Java" Import="java.rmi.*,java.uitl.* "%>
C.<%@ page language="Java";import="java.rmi.*;java.uitl.* "%>
D.<%@ page language="Java" import="java.rmi.* ,java.uitl.* "%>
2、给定以下JSP代码片段,有2个客户依次浏览该JSP;且每个客户只浏览一次,第2个客户会看到浏览器显示( )。
<%int x = 1; %>
<%!int x = 10; %>
X =< %= ++x%>
A.X = 1 B.X = 2 C.X = 10 D.X = 11
3、在a.jsp中有代码片断如下:在b.jsp中可以输出a.jsp页面上输入的loginName的值是( )。
<form action ="b.jsp" method ="POST" name="form1">
loginName:<input type="text" name="loginName"/>
<input type="submit" name="submit"/> </form>
A.<%=(String ) request.getParameter("loginName")%>
B.<%=(String )request.gerAttribute("loginName")%>
C.<% String name=request.getParameter("loginname"); out.println(name); %>
D.<% String name-request.getAttribute("loginname"); out.println(name); %>
4、下面关于JSP作用域对象的说法错误的是( )。
A.request对象可以得到请求中的参数
B.session对象可以保存用户信息
C.application对象可以被多个应用共享
D.作用域范围从小到大是request、session、application
5、在一个应用中有2个JSP,横线处可以填入( )。
a.jsp:
<% ______.setAttribute("svse","svse"); %>
b.jsp:
<%= ______.g
etAttribute("svse ") %>
A.session、 session B.pageContext、pageContext
C.request、 request D.application、 session
6、在JSP页面中,等效于HttpServletResponse的内置对象是( )。
A.out B.response C.request D.config
7、在JSP页面中,能够完成输出操作的内置对象是( )。
A.out B.response C.request D.config
8、在JSP中,对<jsp:setProperty>标记描述正确的是( )。
A.<jsp:setProperty>和<jsp:getProPerty>必须在一个JSP文件中搭配出现
B.就如同session.setAttribute()一样,来设计属性/
值对
C.和<jsp:useBean>动作一起使用,来设置bean的属性值
D.就如同request.setAttribute()一样,来设置属性/值对
9、考虑下面JSP文件代码片断:
<HTML><BODY><jsp:include page="test2.jsp">
<jsp:param name="username" value="accp"/>
</jsp:include></BODY></HTML>
以下代码片断放置在test2.jsp中不会导致错误的是( )。
A.<jsp:getParam name="username"/>
B.<jsp:include param ="username"/>
C.<%=request.getParameter("username")%>
D.<%=request.getAttribute("username")%>
10、在WEB应用程序的目录结构中,在WEB-INF文件夹中的lib目录是存放的是( )。
A..jsp文件 B..class文件 C..jar文件 D.web.xml文件
11、在JSP中,使用<jsp:useBean>动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是( )。
A.page B.request C.response D.application
12、Servlet中,处理客户端发出的表单数据请求使用的是( )。
A.HttpServlet接口中定义的 doHead方法
B.HttpServlet接口中定义的 doPost方法
C.ServletRequest接口中定义的 doGet方法
D.ServletRequest接口中定义的 doPost方法
13、在JSP中,以下是有关jsp:setProperty和jsp:getProperty标记的描述,正确的是( )。
A.<jsp:setProperty>和<jsp:getProperty>标记都必须在<jsp:useBean>的开始标记和结束标记之间
B.这两个标记的name属性的值必须和<jsp:usebean>标记的id 属性的值相对应
C.<jsp:setProperty>和<jsp:getProperty> 标记可以用于对bean中定义的所有属性进行选择和设置
D.这两个标记的name属性的值可以和<jsp:userbean>标记的id属性值不同
14、Servlet中,用来把一个Http请求重定向到另外的URL是HttpServletResponse的( )。
A. sendURL() B. redirectURL()
C. sendRedirect() D. redirectResponse()
15、下列那个类是抽象类( )。
A.ServletConfig B.HttpServlet
C.Cookie D.HttpServletRequest
answ
er:
1、D 2、B 3、A 4、C 5、A
6、B 7、A 8、C 9、C10、 C
11、C 12、B 13、B 14、C 15、 B
================================================================
1、在JSP中,给定以下JSP代码片段,运行结果是_______。
<% int x=5; %>
<% ! int x=7; %>
<%! Int getX(){ return x; } %>
<% out.print("X1="+x); %>
<% out.print("X2="+getX()); %>
2、完成以下JSP程序源码,使程序运行后输出结果是________。
<html> <% int count =1;%> <% =count++ %> </html>
3、给定JSP程序源码如下,该JSP运行后输出的结果是_______。
<html> <% int count =1;%> Count: <% ++count; %></html>
4、完成以下JSP程序源码,使程序运行后输出结果是:WELCOME,JACK。
<html><body><% String name="JACK"; %>
WELCOME,_______</body></html>
5、Form表单提交的信息中含有“name=
svse”,阅读下面的JSP,a.jsp将输出_______。
接受该请求的JSP:
<% response.sendRedirect("a.jsp"); %>
a.jsp:
<%=request.getParameter("name") %>
6、JSP页面中的form标签里的method属性为_______时调用doGet( )。
7、在JSP中连接数据库的常用方式中,使用纯Java数据库驱动程序加载SQLServer驱动程序代码是:
__________________________________
8、Servlet的生命周期主要由3个过程组成,初始化完毕,Servlet对象调用______方法响应客户的请求。
9、page 指令标记contentType属性的作用是 。
10、JSP内置对象 中,session对象被分配了一个String类型的ID,Tomcat服务器将ID发送到客户端,存放在客户的______中。
answer:
1、X1=5 X2=7
2、1
3、Count:
4、<% out.println(name); %>
5、svse
6、get
7、 Class.forName("com.microsoft.sqlserver. jdbc .SQLServerDriver");
8、service():
9、确定JSP页面响应的MIME类型和JSP页面字符的编码。
10、Cookie
=========================================================================
1、
example3_5.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<HTML><BODY bgcolor=cyan><Font size=2>
<FORM action="receive.jsp" method=post name=form>
<BR>输入您的姓名:<INPUT type="text" name="name" value="张三"></BR>
<BR>选择性别:<INPUT type="radio" name="R" value="男" checked="default">男
<INPUT type="radio" name="R" value="女">女
</BR>
<BR>选择您喜欢的球队:
<input type="checkbox" name="item" value="
国际米兰队" >国际米兰队
<input type="checkbox" name="item" value="AC米兰队" >AC米兰队
<input type="checkbox" name="item" value="罗马队" >罗马队
<input type="checkbox" name="item" value="慕尼黑队" >慕尼黑队
</BR>
<INPUT TYPE="hidden" value="我是球迷,但不会踢球" name="secret">
<INPUT TYPE="submit" value="提交" name="submit">
<INPUT TYPE="reset" value="重置" >
</FORM>
</FONT></BODY></HTML>
receive.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<HTML><BODY bgcolor=cyan><Font size=2>
<% String yourName=request.getParameter("name"); //获取text提交的值
String yourSex=request.getParameter("R"); //获取radio提交的值
String secretMess=request.getParameter("secret"); //获取hidden提交的值
String itemName[]=request.getParameterValues("item"); //获取checkbox提交的值
out.println("<P> 您的姓名:"+yourName+"</P>");
out.println("<P> 您的性别:"+yourSex+"</P>");
out.println("<P> 您喜欢的球队:");
if(itemName==null)
{ out.print("一个都不喜欢");
}
else
{ for(int k=0
;k<itemName.length;k++)
{ out.println(" "+itemName[k]);
}
}
out.println("<P> 你提交的隐藏信息:"+secretMess);
%>
</FONT></BODY></HTML>
2、
example3_10.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.util.*" %>
<HTML><BODY bgcolor=cyan><Font size=5 >
<P>现在的时间是:<BR>
<% out.println(""+new Date());
response.setHeader("Refresh","5");
%>
</FONT></BODY></HTML>
3、
example3_11.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML><BODY>
<P>填写姓名:<BR>
<FORM action="form.jsp" method="get" name=form>
<INPUT TYPE="text" name="boy">
<INPUT TYPE="submit" value="Enter">
</FORM>
</BODY></HTML>
form.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<HTML><BODY>
<% String str=request.getParameter("boy");
if(str.length()==0)
{ response.sendRedirect("example3_11.jsp");
}
else
{ out.print("欢迎您来到本网页!");
out.print(str
);
}
%>
</BODY></HTML>
4、
例子14
main.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<HTML><BODY bgcolor=cyan><FONT Size=2>
<P>欢迎来到本页面,请输入您的姓名
<FORM action="" method=post name=form>
<INPUT type="text" name="name">
<INPUT TYPE="submit" value="送出" name=submit>
</FORM>
<% String name=request.getParameter("name");
if(name==null)
{ name="";
}
else
{ session.setAttribute("customerName",name);
}
%>
<% if(name.length()>0)
{
%> <P> 点击超链接,连接到book.jsp的页面,去选择书籍。
<A HREF="book.jsp"> 欢迎去选择书籍!</A>
<% }
%>
<FONT></BODY></HTML>
book.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML><BODY bgcolor=cyan><FONT Size=2>
<P>点击超链接,连接到main.jsp的页面,去修改姓名。
<A HREF="main.jsp"> 欢迎去main.jsp!</A>
<P>请选择您要购买的书籍:
<FORM action="" method=post name=form>
<input type="checkbox" name="choice" value="Java教程" >Java教程
<input type="checkbox" name="choice" value="数据库原理" >数据库原理
<input type="checkbox" name="choice" value="操作系统" >操作系统
<input type="checkbox" name="choice" value="C语言教程" >C语言教程
</BR>
<INPUT TYPE="submit" value="提交" name="submit">
</FORM>
<% String bookName[]=request.getParameterValues("choice");
if(bookName!=null)
{ for(int k=0;k<bookName.length;k++)
{ session.setAttribute(bookName[k],bookName[k]);
}
}
%>
去结帐: <A HREF="count.jsp"> 欢迎去count.jsp!</A>
<FONT Size=2></BOD
Y></HTML>
count.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<%@ page import="java.util.*" %>
<HTML><BODY bgcolor=cyan><FONT Size=2>
这里是结帐处,您的姓名以及选择的书籍:
<% String personName=(String)session.getAttribute("customerName");
out.println("<br>您的姓名:"+personName);
Enumeration enumGoods=session.getAttributeNames();
out.println("<br>购物车中的商品:<br>");
while(enumGoods.hasMoreElements())
{ String key=(String)enumGoods.nextElement();
String goods=(String)session.getAttribute(key);
if(!(goods.equals(perso
nName)))
out.println(goods+"<br>");
}
%>
连接到book.jsp的页面,继续购买书籍:<A HREF="book.jsp">欢迎去book.jsp!</A>
<BR>连接到main.jsp的页面,去修改姓名:<A HREF="main.jsp">欢迎去main.jsp!</A>
</FONT></BODY></HTML>
5、
example3_19.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.util.*"%>
<%! public String getDayWeek(int n)
{ String week[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return week[n];
}
%>
<HTML><BODY bgcolor=cyan><Font size=1>
<% Calendar calendar=Calendar.getInstance(); //创建一个日历对象。
calendar.setTime(new Date());//用当前时间初始化日历时间。
String 年=String.valueOf(calendar.get(Calendar.YEAR)),
月=String.valueOf(calendar.get(Calendar.MONTH)+1),
日=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)),
星期=getDayWeek(calendar.get(Calendar.DAY_OF_WEEK)-1);
int hour=calendar.get(Calendar.HOUR_OF_DAY),
minute=calendar.get(Calendar.MINUTE),
second=calendar.get(Calendar.SECOND);
out.println("<table border=1>");
out.println("<tr>");
out.println("<td>现在的时间:</td>");
out.println("<td>"+年+"年</td>");
out.println("<td>"+月+"月</td>");
out.println("<td>"+日+"日</td>");
out.println("<td>"+星期+"</td>");
out.println("<td>"+hour+"点</td>");
out.println("<td>"+minute+"分</td>");
out.println("<td>"+second+"秒</td>");
out.println("</tr>");
out.println("</table");
out.print("<p>");
if(日.equals("26"))
{out.print("<h1 >今天是病毒容易发作的日子!</h1>");
}
else
{ out.print("<h1>注意防范病毒!</h1>");
}
%>
</FONT></BODY></HTML>
======================================================================================================
填空:
1.JSP是 的缩写。
2.JSP是一种在HTML页面中加入 语言而生成动态页面的技术。
3.. 是Tomcat服务器的默认端号口 。
4..修改Tomcat服务器的conf
目录下的主配置文件 可以更改端口号。
5. JSP页面可由哪5种元素组合而成?
>>回答的内容1.Java Server Pages
2.java
3
.8080
4.server.xml
5.(1)普通的html标志符(2)jsp标签:如指令标签,动作标签(3)变量和方法的声明(4)java程序片(5)java表达式
=====================================================================================================
1. 在 和 之间插入Java程序片
2. HTML注释格式:
3. JSP注释格式:
4. page 指令标记contentType属性 的作用是 ;
import 属性的作用是 ;
5. 如果需要在JSP页面内某处整体嵌入一个文件,就可以考虑使用 标记
>>回答的内容1.<% %>
2.<!-- -->
3.<%-- --%>
4.(1)定义jsp页面响应的MIME的类型和jsp页面字符编码(2)为jsp页面引入java核心包中的类
5.include
=============================================================================================================
1.JSP内置对象 有 、 、 、 、 。
2. JSP内置对象 中,getMethod()的作用是 。 getServerName()的作用是 。getHeaderNames()的作用是 ,getServerPort()的作用是 。
3.JSP内置对象 中, 对象对客户的请求做出响应,向客户端发送数据
4. JSP内置对象 中, session对象被分配了一个 类型的 ,Tomcat服务器将 发送到客户端,存放在客户的 中。
5. 同一用户在同一Web服务目录中的各个页面的session是 ;不同用户的session对象 ,具有不同的
>>回答的内容1. resquest response session application out
2.
(1)返回客户端向服务器端传送数据的方法,一般方法有GET POST PUT等类型.
(2)获得服务器的名字,如果没有设定服务器名,则返回服务器IP地址.
(3)获得当前request对象中包含的每一个HTTP Header的名字,这也是一个枚举对象
(4)获得服务器端口号.
3. response
4.String Id号 这个Id号 Cookie
5.相同的 无不相同的 Id
=================================================================================================================
1. 什么是JavaBean ?
2.使用JDBC需进行哪些操作
>>回答的
内容1. JavaBean 是一种JAVA语言写成的可重用组件。为写成
JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。
2. 创建驱动 创建连接 设置状态参数 SQL语句增删改查 关闭
>>评判结果2.使用JDBC进行如下操作
1)与一个数据库建立连接。
2) 向已连接的数据库发送SQL语句。
3) 处理SQL语句返回的结果。
=================================================================================================================