文档库 最新最全的文档下载
当前位置:文档库 › jsp常见问题及答案

jsp常见问题及答案

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.
B.
C.
D.
3、在web.xml中,有如下代码:

30

上述代码定义了默认的会话超时时长,时长为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的值是( )。



loginName:



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:

<%= ______.getAttribute("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文件中搭配出现

B.就如同session.setAttribute()一样,来设计属性/

值对

C.和动作一起使用,来设置bean的属性值

D.就如同request.setAttribute()一样,来设置属性/值对

9、考虑下面JSP文件代码片断:







以下代码片断放置在test2.jsp中不会导致错误的是( )。

A.

B.

C.<%=request.getParameter("username")%>

D.<%=request.getAttribute("username")%>

10、在WEB应用程序的目录结构中,在WEB-INF文件夹中的lib目录是存放的是( )。

A..jsp文件 B..class文件 C..jar文件 D.web.xml文件

11、在JSP中,使用动作可以将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.标记都必须在的开始标记和结束标记之间

B.这两个标记的name属性的值必须和标记的id 属性的值相对应

C. 标记可以用于对bean中定义的所有属性进行选择和设置

D.这两个标记的name属性的值可以和标记的id属性值不同

14、Servlet中,用来把一个Http请求重定向到另外的URL是HttpServletResponse的( )。

A. sendURL() B. redirectURL()

C. sendRedirect() D. redirectResponse()

15、下列那个类是抽象类( )。

A.ServletConfig B.HttpServlet

C.Cookie D.HttpServletRequest

answer:

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程序源码,使程序运行后输出结果是________。

<% int count =1;%> <% =count++ %>

3、给定JSP程序源码如下,该JSP运行后输出的结果是_______。

<% int count =1;%> Count: <% ++count; %>

4、完成以下JSP程序源码,使程序运行后输出结果是:WELCOME,JACK。

<% String name="JACK"; %>

WELCOME,_______

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" %>






输入您的姓名:



选择性别:







选择您喜欢的球队:

国际米兰队

AC米兰队

罗马队

慕尼黑队














receive.jsp

<%@ page contentType="text/html;Charset=GB2312" %>



<% 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("

您的姓名:"+yourName+"

");

out.println("

您的性别:"+yourSex+"

");

out.println("

您喜欢的球队:");

if(itemName==null)

{ out.print("一个都不喜欢");

}

else

{ for(int k=0

;k
{ out.println(" "+itemName[k]);

}

}

out.println("

你提交的隐藏信息:"+secretMess);

%>



2、

example3_10.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="java.util.*" %>



现在的时间是:


<% out.println(""+new Date());

response.setHeader("Refresh","5");

%>



3、
example3_11.jsp

<%@ page contentType="text/html;charset=GB2312" %>



填写姓名:














form.jsp

<%@ page contentType="text/html;Charset=GB2312" %>



 <% String str=request.getParameter("boy");

if(str.length()==0)

{ response.sendRedirect("example3_11.jsp");

}

else

{ out.print("欢迎您来到本网页!");

out.print(str);

}

%>



4、

例子14
main.jsp

<%@ page contentType="text/html;Charset=GB2312" %>



欢迎来到本页面,请输入您的姓名









<% String name=request.getParameter("name");

if(name==null)

{ name="";

}

else

{ session.setAttribute("customerName",name);

}

%>

<% if(name.length()>0)

{

%>

点击超链接,连接到book.jsp的页面,去选择书籍。

欢迎去选择书籍!

<% }

%>



book.jsp

<%@ page contentType="text/html;charset=GB2312" %>



点击超链接,连接到main.jsp的页面,去修改姓名。

欢迎去main.jsp!

请选择您要购买的书籍:



Java教程

数据库原理

操作系统

C语言教程








<% String bookName[]=request.getParameterValues("choice");

if(bookName!=null)

{ for(int k=0;k
{ session.setAttribute(bookName[k],bookName[k]);

}

}

%>

去结帐: 欢迎去count.jsp!

Y>

count.jsp

<%@ page contentType="text/html;Charset=GB2312" %>

<%@ page import="java.util.*" %>



这里是结帐处,您的姓名以及选择的书籍:

<% String personName=(String)session.getAttribute("customerName");

out.println("
您的姓名:"+personName);

Enumeration enumGoods=session.getAttributeNames();

out.println("
购物车中的商品:
");

while(enumGoods.hasMoreElements())

{ String key=(String)enumGoods.nextElement();

String goods=(String)session.getAttribute(key);

if(!(goods.equals(personName)))

out.println(goods+"
");

}

%>

连接到book.jsp的页面,继续购买书籍:欢迎去book.jsp!


连接到main.jsp的页面,去修改姓名:欢迎去main.jsp!



5、

example3_19.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="java.util.*"%>

<%! public String getDayWeek(int n)

{ String week[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

return week[n];

}

%>



<% 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("

");

out.println("
");

out.println("
");

out.println("
");

out.println("
");

out.println("
");

out.println("
");

out.println("
");

out.println("
");

out.println("
");

out.println("
");

out.println("
out.print("

");

if(日.equals("26"))

{out.print("

今天是病毒容易发作的日子!

");

}

else

{ out.print("

注意防范病毒!

");

}

%> 


======================================================================================================
填空:
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语句返回的结果。

=================================================================================================================

现在的时间:"+年+"年"+月+"月"+日+"日"+星期+""+hour+"点"+minute+"分"+second+"秒