JSP题库

时间:2024-01-18 20:39:26

一、    填空题

  1. 一个完整的JSP页面是由普通的HTML标记、JSP指令标记、JSP动作标记、  变量声明 与方法声明  、程序片  、表达式  、   注释   7种要素构成。
  2. JSP页面的基本构成元素,其中变量和方法声明(Declaration) 、  表达式   (Expression)和Java程序片(Scriptlet)统称为JSP脚本元素   。
  3. 指令标记、JSP动作标记统称为 JSP标记 。
  4. “<%!”和“%>”之间声明的方法在整个页面内有效,称为页面的成员方法    。
  5. 在“<%!”和“%>”之间声明的变量又称为   页面成员变量    ,其作用范围为整个JSP页面。
  6. JSP页面的程序片中可以插入   HTML    标记。
  7. 当JSP页面的一个客户线程在执行  synchronized  方法时,其他客户必须等待。
  8. JSP页面中,输出型注释的内容写在   “<!--” 和 “-->”  之间。
  9. .JSP声明函数时,如果在前面加上  synchronize  关键字,功能是当前一个用户在执行该方法时,其他用户必须等待,直到该用户完成操作。
  10. Page指令的属性Language的默认值是  java  。
  11. 在Error.jsp页面中,要使用Exception对象,必须设置的指令是   <%@page  isErrorPage  = “true”%>.
  12. 要使java bean在整个应用程序的声明周期中,被该应用程序中的任何JSP文件所使用,则该java bean的Scope属性必须设置为   application   。
  13. JSP的_  __session__ __对象用来保存单个用户访问时的一些信息。
  14. response对象的_ sendRedirect(URL url)_ _方法可以将当前客户端的请求转到其他页面去。
  15. 当客户端请求一个JSP页面时,JSP容器会将请求信息包装在__ _request__对象中。
  16. response.setHeader(“Refresh”, “5”)的含义是指 页面刷新时间为   5秒__。
  17. 在JSP中为内置对象定义了4种作用范围,即 Application Scope 、Session Scope 、Page Scope 和Request Scope  四个作用范围。
  18. 表单的提交方法包括___ get  ___和___post_   _方法。
  19. 表单标记中的__ action  _属性用于指定处理表单数据程序url的地址。
  20. JavaBean是一个   java   类,它必须有一个  无参的构造   方法。
  21. JSP的是内部对象可以直接使用,它是由   web容器   创建的。
  22. 在JSP中,页面间对象传递的方法: request 、  session 、  application 、 cookie   等方法。
  23. 在jsp页面中,可以用request对象的   getParameterValues()                  方法来获取其他页面传递参数值的数组。
  24. 在JSP中使用JavaBean的标签是  <jsp:useBean class=BeanName id=Bean实例>     ,其中id的用途是  实例化一个Bean对象   。
  25. JavaBean中用一组set方法设置Bean的私有属性值,get方法获得Bean的私有属性值。set和get方法名称与属性名称之间必须对应,也就是:如果属性名称为xxx,那么set和get方法的名称必须为 setXxx()   和   getXxx()   。
  26. 用户在实际Web应用开发中,编写Bean除了要使用import语句引入Java的标准类,可能还需要自己编写的其他类。用户自己编写的被Bean引用的类称之为   Bean的辅助类
  27. 创建JavaBean的过程和编写Java类的过程基本相似,可以在任何Java的编程环境下完成     编写、编译和发布    。
  28. 布置JavaBean要在Web服务目录的WEB-INF\classes文件夹中建立与   Bean的包名    对应的子目录,用户要注意目录名称的大小写。
  29. 使用Bean首先要在JSP页面中使用   import  指令将Bean引入。
  30. 要想在JSP页面中使用Bean,必须首先使用   <jsp:useBean>      动作标记在页面中定义一个JavaBean的实例。
  31. JSTL标签库中,  c:forEach  标签用来循环输出集合中的数据。
  32. 获取request作用域中名为“uname”值的EL表达式是  ${uname}  。
  33. 编写过滤器类需要实现的  Filter   接口。
  34. Filter接口中最主要的方法是  doFilter  方法。
  35. 实现Filter接口的类需要重写doFilter方法、  init  方法、destroy方法。

二、    选择题

 

1.

如果做动态网站开发,以下( A )可以作为服务器端脚本语言(选择一项)

A.

Java

B.

Jsp

C.

Javascript

D.

Html

 

2.

JSP中存在如下代码:<%="2"+"4" %>,运行该JSP后,以下说法正确的是( C )(选择一项)

A.

没有任何输出

B.

输出6

C.

输出24

D.

指令将引发错误

 

3.

在JSP中,使用( C )对象的(  )方法可完成网页重定向(选择一项)

A.

request,getRequestDispatcher()

B.

request,forward()

C.

response,sendRedirect()

D.

response,setRequestDispatcher()

 

4.

在JSP中使用JDBC语句访问数据库,正确导入SQL类库的语句是( A )(选择一项)

A.

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

B.

<%@ page import="sql.*" %>

C.

<% page import="java.sql.*" %>

D.

<%@ import="java.sql.*" %>

 

5.

对于分页查询, 以下说法不正确的是(  B  )(选择一项)

A.

可以减轻服务器压力

B.

对于程序开销极大

C.

以提高用户体验

D.

对于不同数据库有不同的SQL指令

 

 

6

对于ServletRequest接口的getAttribute()方法,说法正确的是( A )(选择一项)

A.

获取指定名称的属性值

B.

设置指定属性的值

C.

删除指定属性的值

D.

以上都不对

 

7.

对JSTL说法中正确的是(  AB  )(选择二项)

A.

foreach用来循环输出集合中的数据

B.

set标签用来定义变量

C.

out标签只能输出session中的变量值

D.

if标签主要用来执行数据库操

 

8.

在JSP页面中,下列( A )表达式语句可以获取页面请求中名字为title的文本框的内容。(选择一项)

A.

<%=request.getParameter("title")%>

B.

<%=request.getAttribute("title")%>

C.

<%=request.getParameterValues("title")%>

D.

<%=request.getParameters("title")%>

 

9.

jsp在执行过程中经过()阶段,由web容器将之转换成java源代码( A )(选择一项)

A.

翻译

B.

编译

C.

执行

D.

响应

 

10.

jsp在执行过程中经过()阶段,会将java源码转换成class文件( B )(选择一项)

A.

翻译

B.

编译

C.

执行

D.

响应

 

11.

在JSP的小脚本中,使用以下( C)语句可以使浏览器重定向到另一个页面(选择一项)

A.

request.sendRedirect("http://www.jb-aptech.com.cn");

B.

request.sendRedirect();

C.

response.sendRedirect("http://www.jb-aptech.com.cn");

D.

response.sendRedirect();

 

12.

JSP文件test.jsp文件如下所示,运行时,将发生(D)。(选择一项)  

<html>

   <% String str = null;%>

     str is <%=str%>

</html>

A.

编译阶段出现错误

B.

翻译阶段出现错误

C.

执行字节码时发生错误

D.

运行后,浏览器上显示:str is null

 

13.

JSP页面的page指令主要用于设置该页面的各种属性,page指令的language属性的作用是( B )。(选择一项)

A.

将需要的包或类引入到JSP页面中

B.

指定JSP页面使用的脚本语言,默认为Java

C.

指定JSP页面采用的编码方式,默认为text/html

D.

服务器所在国家编码

 

14.

在java Web应用开发中,Servlet程序需要在( B )文件中配置。(选择一项)

A.

Jsp

B.

web.xml

C.

struts.xml

D.

servlet.xml

 

15.

Java EE,HttpServletResponse( B )方法用于一个HTTP请求重定向到另一个资源。选择一项

A.

sendURL()

B.

sendRedirect()

C.

forward()

D.

redirectURL()

 

16.

在JSP页面中进行访问控制时,一般会使用JSP的( B )内置对象实现对用户的会话跟踪(选择一项)

A.

Request

B.

Session

C.

Response

D.

Application

 

17.

在JSP页面中有如下Java代码,一共存在( B)处错误(选择一项)

<%

         String userName= (String)session.getParameter("userName");

         if(userName==null)

         {

         %>

         您尚未登录!

         <%

         }

         else

         {

         %>

         欢迎您,<%=userName %>

         <%

         }

%>

A.

0

B.

1

C.

2

D.

3

 

18.

在JSP中,以下哪个方法可以正确获取复选框的值( C )(选择一项)

A.

request.getParameterValue()

B.

response.setParameterValues()

C.

request.getParameterValues()

D.

request.getParameter()

 

19.

在一个jsp页面中包含了这样一种页面元素,<% int i = 10; %>这是( B )(选择一项)

A.

表达式

B.

小脚本

C.

指令

D.

注释

 

20.

在JSP中,以下( C )技术最适合实现购物车的存储(选择一项)

A.

Page

B.

Request

C.

Session

D.

Application

 

21.

以下JSP关键代码的运行效果为( A )。(选择一项)

<%

         Map map=new HashMap();

         map.put("a","Java");

         map.put("b","JSP");

         map.put("a","C#");

         request.setAttribute("map",map);

%>

${map.b}<br/>

${map["a"]}

A.

JSP

C#

B.

JSP

JAVA

C.

运行时出现错误

D.

什么也不输出。

 

22.

以下JSP代码片段的输出结果是( D )(选择一项)

<%

         String getName(String name){

                   return name.subString(0,3);

         }

%>

姓名:<%=getName("齐德龙东强")%>

A.

姓名:

B.

姓名:齐德

C.

姓名:齐德龙

D.

编译错误

 

23.

index.jsp中代码如下,可以正确填写到横线处的代码为( AB )(选择二项)

<%@ pae language="java" pageEncoding="ISO-8859-1" ______________%>

<%

         Date date = new Date();

%>

<%=date%>

A.

import="java.util.*"

B.

import="java.util.Date"

C.

package="java.util.*"

D.

package="java.util.Date"

 

24.

以下JSP代码运行后的结果为( B )选择一项

<%int i =8;%>

<%=i+"8"%> 

A.

i8

B.

88

C.

16

D.

编译错误

 

25.

在下JSP代码,用户访问login.jsp页面点击登录后的显示结果是( C )。(选择一项)

login.jsp页面代码如下:

<form action="display.jsp">

         <input type="text" name="u1" value="admin1"/>

         <input type="text" name="u2" value="admin2"/>

         <input type="submit" value="登录"/>

</form>

display.jsp页面代码如下

<%

         request.setAttribute("x","admin3");

         request.getRequestDispatcher("success.jsp").forward(request,response);

%>

success.jsp页面代码如下:

<%=request.getParameter("u1")%>

<%=request.getAttributer("x")%>

A.

admin1 admin2

B.

admin1 null

C.

admin1 admin3

D.

null admin3

 

26.

如下JSP代码输出集合中各元素,横线处应填写( AC )。(选择二项)

<%

         List<String> strs= new ArrayList<String>();

         strs.add("北京");

         strs.add("上海");

         strs.add("浙江");

         request.setAttribute("strs",strs);

%>

<c:forEach var="strList" items="___________">

         <c:out value="________"></c:out>

</c:forEach>

A.

${strs},${strList}

B.

${strList},${strs}

C.

${requestScope.strs},${strList}

D.

${strList}, ${requestScope.strs}

 

27.

假设当前为2013年4月15日,则如下JSP代码输出结果为( A )。选择一项

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

<%@ page import ="java.text.SimpleDateFormat"%>

<%

         SimpleDateFormat formater=new SimpleDateFormat("yyyyMMdd");

         String strTime = formater.format(new Date());

%>

<%=strTime%>

A.

2013年04月15日

B.

2013年05月15日

C.

13年4月15日

D.

编译错误

 

28.

以下JSP关键代码的功能为输出"姓名:陈小斌",横线处应填写( AC ).(选择二项)

<%

         Map stus = new HashMap();

         stus.put("stu1","王晓");

         stus.put("stu2","黄青");

         stus.put("stu3","陈小斌");

         request.setAttribute("stuList",stus);

%>

姓名:____________

A.

${stuList.stu3}

B.

${stuList[stu3]}

C.

${stuList["stu3"]}

D.

${stuList."stu3"}

 

29.

如下JSP代码输出集合中各元素,横线处应填写( AC  )。(选择二项)

<%

         List<String> strs= new ArrayList<String>();

         strs.add("北京");

         strs.add("上海");

         strs.add("浙江");

         request.setAttribute("strs",strs);

%>

<c:forEach var="strList" items="___________">

         <c:out value="________"></c:out>

</c:forEach>

A.

${strs},${strList}

B.

${strList},${strs}

C.

${requestScope.strs},${strList}

D.

${strList}, ${requestScope.strs}

 

30.

在部署带有Servlet的Java Web程序时,(  D  )不是必需的。(选择一项)

A.

web.xml文件

B.

WEB-INF文件夹

C.

classes文件夹

D.

csses文件夹

 

31.

在JSP中,以下哪个方法可以正确获取复选框的值( C )(选择一项)

A.

request.getParameterValue()

B.

response.setParameterValues()

C.

request.getParameterValues()

D.

request.getParameter()

 

32.

JSP中的有很多内置对象可以方便程序开发,其中不包括( C )(选择一项)

A.

Out

B.

Request

C.

Redirect

D.

Response

 

33.

在一个jsp页面中包含了这样一种页面元素,<% int i = 10; %>这是( B )(选择一项)

A.

表达式

B.

小脚本

C.

JSP指令

D.

注释

 

34.

在JSP中,以下( C )技术最适合实现购物车的存储(选择一项)

A.

Page

B.

Request

C.

Session

D.

Application

 

35.

在使用表单提交数据时,如果<form>标签的method属性未指定的时候,则以下说法中正确的是( B )(选择一项)

A.

默认为POST请求

B.

默认为GET请求

C.

默认为Fast请求

D.

编译错误

 

36.

如果要把一个accp字符串信息放在session对象里则下列正确的是( A  )(选择一项

A.

session.setAttribute("message","accp");

B.

session.setAttribute(message,"accp");

C.

session.setAttribute("accp","message");

D.

session.setAttributes("message","accp");

 

37.

JSP假设表单的method="post"在发送请求时中文乱码处理的正确做法是(  A  )(选择一项

A.

request.setCharacterEncoding("utf-8");

B.

response.setCharacter("utf-8");

C.

request.setContentType("text/html;charset=utf-8");

D.

response.setContentType("text/html;charset=utf-8");

 

38.

在JSP中,对于数据的共享可通过不同的作用域对象实现,如果该数据仅限当前页面有效,可选择的作用域对象( A )。(选择一项)

A.

PageContext

B.

Request

C.

Session

D.

Application

 

39.

jspServletRequest接口提供的setAttribute()方法共享数据对此以下说法正确的是(  A )(选择一项

A.

其原型是setAttribute(String key,Object value),第一个参数表示变量名称,第二个参数表示要存入的数据

B.

其原型是setAttribute(Object value,String key),第一个参数表示变量名称,第二个参数表示要存入的数据

C.

其原型是setAttribute(String key,String value),第一个参数表示变量名称,第二个参数表示要存入的数据

D.

其原型是setAttribute(String value,List value),第一个参数表示变量名称,第二个参数表示要存入的数据

 

40.

JSP,pageContextrequestsessionapplication均提供了存取数据的通用方法假设已经在session中存入了名为"currentUser"User对象则取出该数据的正确语句是( BC )(选择二项

A.

User user = session.getAttribute("currentUser");

B.

User user = (User)session.getAttribute("currentUser");

C.

Object user = session.getAttribute("currentUser");

D.

String user = (String)session.getAttribute("currentUser");

三、    判断题

  1. JSP引擎执行字节码文件的主要人物之一是直接将HTML内容发给客户端。(T)
  2. JSP页面中的变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为JSP标记。(T)
  3. JSP页面中的指令标记、JSP动作标记统称为脚本元素。(F)
  4. 在“<%!”和“%>”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不共享。(F)
  5. 在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。(T)
  6. 页面成员方法不可以在页面的Java程序片中调用。(F)
  7. 程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。(T)
  8. 程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。(T)
  9. JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。(T)
  10. 在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。(F)
  11. 不可以用一个page指令指定多个属性的取值。(F)
  12. jsp:include动作标记与include指令标记包含文件的处理时间和方式不同。(T)
  13. jsp:param动作标记不能单独使用,必须作为jsp:include、jsp:forward标记等的子标记使用,并为它们提供参数。(T)
  14. <jsp:forward...>标记的page属性值是相对的URL地址,只能静态的URL。(F)
  15. JSP页面只能在客户端执行。(F)
  16. JSP页面中不能包含脚本元素。(F)
  17. Page指令不能定义当前JSP程序的全局属性。(F)
  18. 在JSP中,<%!intc=5;out.print(c);%>此式正确.。(F)
  19. <jsp:getProperty>中的name及property区分大小写。(T)
  20. JSP主要的指令有page,import,include等三个(F)
  21. 当同时有多个请求发送到一个Servlet时,服务器将会为每个请求创建一个新的线程来处理客户端的请求。(T)
  22. HTML称为超文本元素语言,它是HypertextMarkedLanguage的缩写。(T)
  23. 一个HTML文档必须有<head>和<title>元素。(F)
  24. 超级链接不仅可以将文本作为链接对象,也可以将图像作为链接对象。(T)
  25. 表单域一定要放在<form>元素中。(T)
  26. 盒子模型中的top、right、bottom、left属性取值即可以是像素数,也可是百分比,并且只有父容器的position取值为非static值时才有效。(T)
  27. 用户在浏览器中输入http://127.0.0.1:8080/ch2/ch2_1.html即可访问本机上的该页面。(T)
  28. 在网页中图形文件与网页文件是分别存储的。(T)
  29. 绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。(T)
  30. 超级链接<a>标记的target属性取值为链接的目标窗名,可以是parent、blank、self、top。(F)
  31. Tomcat服务器支持直接使用application对象。(F)
  32. out对象是一个输出流,它实现了javax.servlet.JspWriter接口,用来向客户端输出数据。(T)
  33. 利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。(F)
  34. JSP的Response对象作用是向客户端发送数据,但是一次会话过程,一个Response对象只能包含一个Coolie和一个HTTP文件头。否则抛出内存越界异常。(F)
  35. 在MVC模式中,因为Servlet负责创建JavaBean,所以JavaBean的构造函数可以带有参数,除了保留get和set规则外,还可以有其他功能的函数。(T)
  36. JSP是Servlet的升级版本,JSP出来后,Servlet也就退出了历史的舞台。(F)
  37. JSP输出表达式,正确的语法规则是<%=表达式%>。(T)
  38. JavaBean的属性可读写,编写时set方法和get方法必须配对。(F)
  39. JavaBean也是Java类,因此也必须有主函数。(F)
  40. 和过滤器相关的接口主要有:Filter、FilterConfig和FilterChain。(T)

四、    简答题

  1. 相比servlet,jsp的优势在哪里?
  2. 画图说明访问a.jsp的整个流程。
  3. <% %>是java代码块的语法。如果在jsp文件中写多个代码块,它们都是位于_jspService方法里吗?
  4. 看代码解决问题:

<%

a)         int c = 10;

%>

<%

b)         int d = c+10;  //这个代码块能引用上个代码块的变量吗?说出理由。

%>

五、    编码题

1、编写程序实现登录功能

要求:

1)页面使用jsp表单提交,包含姓名和密码

2)提交目的地为Servlet,在Servlet中获得表单提交的数据

3)在Servlet中判断,如果姓名是“张三”,密码是“123”,返回客户登录成功

4)写出核心代码即可

JSP:

 <form action="login" method="post">
<table>
<tr>
<td>姓名</td>
<td>
<input type="text" name="uname">
</td>
</tr>
<tr>
<td>密码</td>
<td>
<input type="text" name="pwd">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="登录">
</td>
</tr>
</table>
</form>

Servlet:

 public class LoginServlet extends HttpServlet
{
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
doPost(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
req.setCharacterEncoding("utf-8");
String name = req.getParameter("uname");
String pwd = req.getParameter("pwd");
System.out.println(name + "=" + pwd);
resp.setContentType("text/html;charset=utf-8");
if (name.equals("张三") && pwd.equals("123"))
{
resp.getWriter().println("登录成功");
} else
{
resp.getWriter().println("登录失败");
}
}
}

web.xml配置

 <servlet>
<servlet-name>login</servlet-name>
<servlet-class
>com.guangsoft.LoginServlet</servlet-class
>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>