1.【单选】
关于Java的集合下面说法错误的是( )
A.Collections是针对集合类的一个帮助类。提供了一系列静态方法实现对各种集合的搜索、排序线程完全化等操作。
B.Collection没有get ( ) 方法来取得某个元素。只能通过iterator ( ) 遍历元素。
C.HashMap会利用对象的hashCode来快速找到key。
D.List、Set、 Map都是不允许重复的集合。
答案:D
解析:
Collections是一个包装类。 它包含有各种有关集合操作的静态多态方法,包括搜索、排序、线程完全化等
Collection没有get( ) 方法来取得某个元素。只能通过iterator ( ) 遍历元素也是正确的。
HashMap是根据键的HashCode值存储数据,而哈希码就是将对象的信息经过一些转变形成一个独一无的int值, 这个值存储在一个array中 ,我们都知道所有存储结构中, array查找速度是最快的。List集 合是可重复的
2.【单选】
下面 Servlet的哪个方法用来为请求服务,在 Servlet 生命周期中,Servlet每被请求一次它就会被调用一次。 ( )
- A. doPost()
- B. init()
- C. destroy()
- D. service()
答案:D
解析:
init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。
每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。
destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。
3.【单选】
以下哪个对象提供了访问和放置页面中共享数据的方式()
- A. request
- B. pageContext
- C. session
- D. response
答案:B
解析:JSP笔记
pageContext作用:当前页面共享数据,还可以获取其他八个内置对象
request作用:一次请求访问的多个资源(转发)
session作用:一次会话的多个请求区间
response作用:响应对象
4.【单选】
给定以下 JSP 代码片段:
<% int x = 1; %> <%! int x = 10; %> x = <%=x++%>
有 2 个客户依次浏览该 JSP,且每个客户只浏览一次,则第2 个客户会看到浏览器显示()
- A. x = 11
- B. x = 10
- C. x = 2
- D. x = 1
答案:D
解析:JSP笔记
代码里定义了一个局部变量x,值为1,和一个成员变量x值为10。而在输出时,使用JSP表达式获取到的是局部变量x的值,并且输出后自增。但是由不同的客户进行访问时,分别调用_jspService方法,因此局部变量总是会定义一个新的值,并且在方法中直接输出的屏蔽了成员变量,所以不会受成员变量的影响。
- JSP脚本分类
- <%…%>:内容直接放到_jspService()方法中
- <%=…%>:内容会放到out.print()中,作为out.print()的参数
- <%!..%>:内容会放到_jspService()方法之外,被类直接包含
5.【单选】
Calendar now = Calendar.getInstance(); int year = now.get(Calendar.YEAR);① int month = now.get(Calendar.MONTH) + 1;② int day = now.get(Calendar.DATE);③ Date date = now.getTime();④
下列关于Calendar的基本操作说法错误的是()
- A. ③得到系统当前日
- B. ②得到系统当前月份
- C. ④得到系统的一个格式化的日期
- D. ①得到系统当前年份
答案:C
解析:
④不能得到格式化的日期,只能得到一个Date类型的日期,如果要得到格式化的日期必须使用DateFormat类。
6.【单选】
下面哪个流是面向字符的输入流()
- A. ObjectInputStream
- B. InputStreamReader
- C. BufferedWriter
- D. FileInputStream
答案:B
解析:转换流详解
ObjectInputStream(反序列化流):对象字节输入流
InputStreamReader:为字符输入流
BufferedWriter:缓冲字符输出流
FileInputStream:文件字节输入流
7.【单选】
Model2模式(MVC)是在JSP+JavaBean的设计模式基础上加入()来实现程序控制层
- A. Servlet
- B. JavaBean
- C. JSP
- D. 以上都不对
答案:A
解析:
Model2模式(MVC)是在JSP+JavaBean的设计模式基础上加入Servlet来实现程序控制
8.【单选】
下面哪个选项的描述是正确的()
- A. Map集合的键值和value值都不能重复;
- B. Map集合的键值能重复,value值不能重复;
- C. Map集合的键值和value值都能重复;
- D. Map集合的键值不能重复,Value值可以重复;
答案:D
解析:
Map的键值不可重复,value值可以重复。
9.【单选】
下面哪个方法只能用于删除LinkedList集合中元素,无法删除ArrayList集合中元素()
- A. clear()
- B. removeAll()
- C. removeFirst()
- D. remove()
答案:C
解析:removeFirst是LinkedList的特有方法。
10.【单选】
List集合的特点是下面哪个选项()
- A. 有序,可重复
- B. 无序,不可重复
- C. 无序,可重复
- D. 有序,不可重复
答案:A
解析:
List是一个有序、可重复的集合。
11.【单选】
使用GET方式提交数据,接收数据时,处理中文最直接有效方式为()。
- A. response.setCharacterEncoding("gbk")
- B. String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"gbk")
- C. request.setCharacterEncoding("utf-8")
- D. response.setContentType("text/html;charset=utf-8")
答案:B
解析:JavaWeb笔记
设置编码格式:解决中文乱码问题:request.setCharacterEncoding(“UTF-8”);(仅限于解决post请求的参数问题;对于get请求参数乱码问题:new String(乱码的参数值.getfBytes(“iso-8859-1”),”UTF-8”);
12.【单选】
下面关于Servlet说法正确的是:( )
- A. web.xml配置中<load - on - startup>2</load - on - startup>(<load-on-startup>2</load-on-startup>),数字2表示实例化的个数
- B. Servlet是线程安全的
- C. Servlet生命周期中init方法仅会被调用一次
- D. Tomcat容器默认情况下会为每一个请求创建一个Servlet实例
答案:C
解析:
<load-on-startup>2</load-on-startup>
标记容器是否在启动的时候就加载这个servlet。
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
正数的值越小,启动该servlet的优先级越高。
Servlet不是线程安全的,servlet是单实例多线程的,当多个线程同时访问同一个方法,是不能保证共享变量的线程安全性的。
13.【多选】
以下哪些是合法的EL表达式?
- A. ${request.getParamter("username")}
- B. ${empty applicationScope}
- C. ${param.username}
- D. ${header["user-agent"]}
- E. ${pageContext.response.characterEnconding}
答案:B、C、D、E
解析:JSP笔记
EL表达式的基本语法,request不是EL表达式的内置对象,不能直接使用
14.【单选】
假如HttpSession的getLastAccessTime()方法返回值为x,getCreationTime()方法返回值为y,则为x - y的值为()
- A. 最后使用session发送请求的时间和session创建时间的间隔
- B. 两个连续请求之间间隔的最长时间
- C. 最近的两个连续请求之间的时间间隔
- D. 最后使用session发送请求的时间
答案:A
解析:
JSP四大作用域的Session会话区间
15.【单选】
下列选项中不属于Servlet的生命周期方法的是?()
- A. init()
- B. service()
- C. destroy()
- D. getInitParam()
答案:D
解析:
Servlet的生命周期方法有init、service、destroy。
16.【单选】
不同的客户端需要共享的信息应存储到( )中
- A. ServletContext
- B. Session
- C. Response
- D. Request
答案:A
解析:
不同的客户端若想共享信息应该将需要共享的信息存储到ServletContext
17.【单选】
以下代码执行效果为()
<c:forEach var = "i" begin = "1" end ="5" step = "2"> <c:outvalue=“${i}”/> </c:forEach>
- A. 15
- B. i i i
- C. 1 3 5
- D. 1 2 3 4 5
答案:C
解析:
<c:forEach>普通for循环
begin:开始数
end:结束数
step:步长
18.【单选】
Tomcat安装成功后默认的端口是()
- A. 以上都不对
- B. 8080
- C. 8888
- D. 80
答案:B
解析:8080
数据库端口号:3306
19.【单选】
关于JSP的说法下面选项错误的是()
- A. JSP是由Sun公司提出的一种动态网页标准
- B. JSP是Servlet的扩展,是Servlet的一种特殊形式
- C. JSP文件必须在JSP服务器内运行
- D. JSP文件不一定需要生成Servlet才能运行
答案:D
解析:
JSP是一种特殊的Servlet,运行时会被翻译为Servlet。
JSP文件必须在JSP服务器内运行
20.【单选】
以下Java程序片段:
<% request.setAttribute(”user”,”Lucy”) %>
哪个选项能完成和上述Java程序片段相同的功能
- A. <c:set var=”${user}”value=”Lucy”scope=”request”/>
- B. <c:set var=”user”value=”Lucy”/>
- C. <c:out var=”user”value=”Lucy” scope=”request”/>
- D. <c:set var=”user”value=”Lucy” scope=”request”/>
答案:D
解析:
JSTL的核心标签库
21.【单选】
ArrayList和LinkList的描述,下面说法错误的是?( )
A. LinkedeList和ArrayList都实现了List接口
B. ArrayList是可改变大小的数组,而LinkedList是双向链接串列
C. LinkedList不支持高效的随机元素访问
D. 在LinkedList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在ArrayList的中间插入或删除一个元素的开销是固定的
答案:D
解析:
Arraylist的内存结构是数组,当超出数组大小时创建一个新的数组,把原数组中元素拷贝过去。其本质是顺序存储的线性表,插入和删除操作会引发后续元素移动,效率低,但是随机访问效率高
LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问
22.【单选】
给定一个 Servlet 的doGet方法中的代码片段,如下:
request.setAttribute(“name”,”zhang”); response.sendRedirect(“http://localhost:8080/servlet/MyServlt”);
那么在 MyServlet中可以使用( )方法把属性 name的值取出来。
- A. Objectstr=request.getAttribute(“name”);
- B. Stringstr=(String)request.getAttribute(“name”);
- C. 无法取出来
- D. Stringstr=request.getAttribute(“name”);
答案:C
解析:
重定向到其他页面不带任何参数和值,自然无法取出
23.【单选】
有JavaScript代码:var d=new Date(); 那么获取当前月份的语句是()
- A. d.getMonth()+1
- B. d.getDate()+1
- C. d.getMonth()
答案:A
解析:
getDate() 返回的是月份的某一天, getMonth() 返回一个0 ~ 11的整数值: 0 代表一月份,1 代表二月份, 2 代表三月份,因此获取当前月份是:getMonth()+1。
24.【单选】
哪一个选项中的对象可以获得Servlet的初始化参数( )
- A. ServletContext
- B. ServletConfig
- C. Servlet
- D. GenericServlet
答案:B
解析:
ServletConfig对象是当前Servlet的配置对象,在当前Servlet执行init()方法初始化之后产生的,是属于当前Servlet的对象,可以获得当前Servlet的初始化参数,ServletContext对象可以获得的是Web应用的初始化参数。
25.【单选】
在一个Filter中,处理filter的业务的是()方法
- A. dealFilter(ServletRequest req,ServletResponse resp)
- B. doFilter(ServletRequest req,ServletResponse resp)
- C. dealFilter(ServletRequest req,ServletResponse resp,FilterChain chain)
- D. doFilter(ServletRequest req,ServletResponse resp,FilterChain chain)
答案:D
解析:
过滤器的语法
26.【单选】
假设有以下代码
String s= “hello”; String t = “hello”; char c[] = {‘h’,’e’,’l’,’l’,’o’} ;
下列选项中返回false的语句是______。
- A. s==t;
- B. s.equals(t);
- C. t.equals©;
- D. t.equals(new String(“hello”));
答案:C
解析:
==操作符比较的是操作符两端的操作数是否是同一个对象,而String的equals()方法比较的是两个String对象的内容是否一样,其参数是一个String对象时才有可能返回true,其它对象都返回假。需要指出的是由于s和t并非使用new创建的,他们指向内存池中的同一个字符串常量,因此其地址实际上是相同的(这个可以从反编译一个简单的测试程序的结果得到,限于篇幅不列出测试代码和反编译的分析),因此答案C也是正确的。
27.【多选】
关于过滤器的生命周期,以下哪些说法正确()
- A. 当Web应用终止时,Servlet容器将先调用过滤器对象的destroy()方法,然后销毁过滤器对象
- B. 当Web应用启动时,Servlet容器会初始化Web应用的所有的过滤器
- C. 当客户请求访问的URL与为过滤器映射的URL匹配时,Servlet容器将先创建过滤器对象,再依次调用init()、doFilter()和destroy()方法
- D. 当客户请求访问URL与为过滤器映射的URL匹配时,Servlet容器将先调用过滤器的doFilter()方法
答案:ABD
解析:
28.【单选】
Model1模式中JSP页面的作用是()
- A. 做为页面并展示数据
- B. 做控制器接收请求
- C. 调用相应的JavaBean处理业务逻辑
- D. 以上都有
答案:D
29.【单选】
关于JSP的说法下面选项正确的是()
- A. JSP在服务器加载Web应用时创建实例对象
- B. JSP每一次被访问时创建一个实例对象
- C. JSP在服务器端被执行
- D. JSP在浏览器客户端被执行
答案:C
解析:
JSP是在浏览器第一次访问时,由服务端翻译再编译然后创建实例对象的。
30.【单选】
以下哪个方法可以向 StringBuffer 对象的指定位置添加数据 ( )
- A. add()
- B. into()
- C. append()
- D. insert()
答案:D
解析:
insert()指定位置添加,append()追加数据在末尾
31.【单选】
在JSP中,test.jsp文件有如下内容:
<html> . . . <body> <% String str = null; %> str is <%= str%> </body> </html>
访问该JSP时将发生()
- A. 运行后浏览器上将显示str is null
- B. 执行编译后的Servlet时发生错误
- C. 翻译出错
- D. 编译翻译的Servlet源码时出错
答案:A
解析:
JSP语法没有错误,可以被正常翻译编译和执行。
32.【单选】
在访问Servlet时,在浏览器地址栏中输入的路径是在_______地方配置的
- A. <uri-pattern></uri-pattern>
- B. <servlet-mapping></servlet-mapping>
- C. <servlet-name></servlet-name>
- D. <url-pattern></url-pattern>
答案:D
33.【单选】
下列说法正确的是()
- A. 使用EL表达式输出Bean属性时,不允许使用下标的形式
- B. 如果指定了对象的查找范围,那么如果在该范围内没有找到绑定的对象则不会再去其他范围进行查找了
- C. EL表达式查找对象的范围依次是request,pageContext,session,application
- D. 使用EL表达式输出对象的属性值时,如果属性值为空,则输出null
答案:B
解析:
EL表达式查找范围是pageContext、request、session、application,如果指定了查找的域范围,则只在指定域里查找。
34.【单选】
关于JSP的说法下面选项正确的是()
- A. JSP是指Java Service Pages
- B. JSP是指Java Servlet Pattern
- C. JSP是指Java Server Pages
- D. JSP是指Java Servlet Pages
答案:C
解析
JSP是Java服务端页面,Java Server Pages。
35.【单选】
给定一个自定义标签程序的代码片断如下:
public int doStartTage() throws JspTagException{ pageContext.getAttribute(“A”); //第二行 return EVAL_BODY_INCLUDE; }
假定第二行返回的对象引用不是null,那么这个对象存储在( )范围中
- A. application
- B. session
- C. request
- D. page
答案:D
解析
这边是在pageContext里面保存的,所以应该在page区间内,在其他区间是拿不到的
36.【单选】
在JSP中为内置对象定义了4种作用范围,具体有Application Scope、Session Scope、Page Scope和下面哪一个()
- A. Out Scope
- B. Response Scope
- C. Writer Scope
- D. Request Scope
答案:D
解析:
4个作用范围是页面Page、请求Request、会话Session和应用Application
37.【单选】
核心标签库中,用来实现循环功能的标签是()
- A. <c:forEach>
- B. <c:if>
- C. <c:for>
- D. <c:each>
答案:A
解析
c:forEach标签来循环遍历。
38.【单选】
下面选项是字节输入流的是()
- A. FileOutputStream
- B. StringReader
- C. FileReader
- D. DataInputStream
答案:D
解析
DataInputStream为字节输入流,*Reader不是字节流,FileOutputStream是字节输出流
39.【单选】
JSP EL表达式:${user.loginName}执行效果等同于()
- A. <%=user.getLoginName()%>
- B. <%user.loginName;%>
- C. <%=user.loginName%>
- D. <%user.getLoginName();%>
答案:A
解析
EL表达式里访问属性其实就是调用对应的getter方法。
40.【单选】
java中,StringBuilder 和 StringBuffer 的区别,下面说法错误的是()
A. StringBuffer是线程安全的
B. StringBuilder是非线程安全的
C.StringBuffer对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象
D.效率比较 String < StringBuffer < StringBuilder,但是在 String S1 = "This is only a" + "simple" + "test "时,String 效率最高
答案:C
解析:
String才是每次都要生成新的对象,StringBuffer底层是char[] 不需要次次更新
41.【单选】
在JAVA中,下面关于String类和StringBuffer类的描述正确的是那一个?( )
- A. 可以直接将字符串“test”赋值给声明的String类和StringBuffer类的变量
- B. 两个类的实例的值都能够被改变
- C. 两个类都有append()方法
- D. StringBuffer类的对象调用toString()方法将返回String类型的结果
答案:D
解析:
string没有append方法,是不可变长的类型值不能被改变;stringbuffer是可变长类型,调用tostring才能返回string类型字符串,它不能直接被字符串赋值声明,要通过append方法或者构造方法。
42.【单选】
request.getRequestDispatcher("xxx").forward(request,response);
这行代码调用被称之为()
- A. 跳转
- B. 转发
- C. 重定向
- D. 导航
答案:B
解析
通过request对象进行的该操作是转发,表示将当前请求转发到指定的目标上。
43.【单选】
下面JSP语法错误的是()
- A. <%= 5 + 3; %>
- B. <%-- int a = 1; --%>
- C. <%! int number; %>
- D. <%@ page import="java.io.*, java.util.*" %>
答案:A
解析
JSP的表达式中不要以分号结尾。
44.【单选】
JSP页面的page指令主要用于设置该页面的各种属性,page指令的language属性的作用是()
- A. 指定JSP页面采用的编码方式,默认为text/html
- B. 将需要的包或类引入到JSP页面中
- C. 服务器所在国家编码
- D. 指定JSP页面使用的脚本语言,默认为Java
答案:D
45.【单选】
关于StringBuffer类和StringBuilder类的描述,下述哪个选项是正确的()
- A. StringBuffer类线程不安全,StringBuilder类线程安全;
- B. StringBuffer类线程安全,StringBuilder类线程安全;
- C. StringBuffer类线程安全,StringBuilder类线程不安全;
- D. StringBuffer类线程不安全,StringBuilder类线程不安全;
答案:C
解析:
StringBuffer类线程安全,StringBuilder类线程不安全。
46.【单选】
下面哪个选项可以实现多个字符串的拼接()
- A. +,add和concat
- B. add 和 +
- C. + 和concat
- D. concat和add
答案:C
解析:
Java字符串拼接的方式是使用“+”和concat()方法。
47.【单选】
下面哪个注解用来配置Servlet
- A. @WebServlet
- B. @WebFilter
- C. @WebParttern
- D. @WebInitParams
答案:A
解析
使用@WebServlet注解来配置Servlet
48.【单选】
假设在 myweb应用中有一个 MyServlet 类,在 web.xml 文件中对其进行如下配置:
<servlet> <servlet-name>myservlet</servlet-name> <servlet-class>com.iflytek.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myservlet</servlet-name> <servlet-pattern>/welcome</url-pattern> </servlet-mapping>
则以下选项可以访问到 MyServlet 的是( )
- A. http://localhost:8080/com/iflytek/MyServlet
- B. http://localhost:8080/myweb/myservlet
- C. http://localhost:8080/myweb/welcome
- D. http://localhost:8080/MyServlet
答案:C
解析
访问时输入的路径中包括地址和web应用的名称,之后则是配置的映射路径。
49.【单选】
HTML文档的树状结构中,()标签为文档的根节点,位于结构中的最顶层?
- A. html
- B. body
- C. head
- D. <!DOCTYPE html>
答案:A
解析
文档元素(html)是文档的最外层元素,文档中的其他所有元素都包含在文档元素中,每个文档只能有一个文档元素
50.【单选】
jsp在执行过程中经过什么阶段,会将java源码转换成class文件?
- A. 翻译
- B. 编译
- C. 响应
- D. 执行
答案:B
解析
jsp只有在编译阶段才会将java源码转换成class文件
51.【单选】
Model1模式是JavaBean和()的组合
- A. JSP
- B. Model
- C. JavaBean
- D. Servlet
答案:A
解析
Model1模式是JavaBean和JSP的组合
52.【单选】
访问Tomcat部署的应用,出现404错误,原因是()
- A. Tomcat服务器启动,但输入URL的主机地址错误
- B. Tomcat服务器启动,但输入URL的资源地址错误
- C. Tomcat服务器没有启动
- D. Tomcat服务器启动,但输入URL的协议错误
答案:B
解析
404指的是指定的访问地址不存在或者资源找不到,很下意识的选择主机地址错误,但是这和主机地址没关系,而是路径错误,所以是名称写错了
53.【单选】
下面关于 Servlet 的陈述正确的是()
- A. Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序
- B. Servlet 不能向浏览器发送 Html 标签
- C. 在浏览器的地址栏直接输入要请求的Servlet,默认会使用doService方法
- D. Servlet 的生命周期包括:实例化,初始化,服务,破坏,不可以用
答案:A
解析:
1)doService--》service,默认调用的是doGet
2)Servlet的生命周期是先加载Servlet处理类,然后将其实例化,再调用init()初始化,紧接着处理客户端发过来的请求,最后销毁。
3)可以发送HTML标签
54.【单选】
已知Tomcat部署完毕后,端口为8888,应用的名字为HelloWorld,现在需要访问test包里面的test.html。访问此资源的路径是()
- A. localhost:8888/HelloWorld
- B. localhost:8888/HelloWorld/test/test.html
- C. http://localhost:8888/HelloWorld
- D. 127.0.0.1:8888/HelloWorld/test
答案:B
解析:
访问地址为本地地址,127.0.0.1或者localhost均可,之后访问资源为web应用,然后是包,最后是包中的资源,并以/分隔
55.【单选】
在JSP中,以下哪个方法可以正确获取复选框的值( )
- A. request.getParameter()
- B. request.getParameterValues()
- C. request.getParameterValue()
- D. response.setParameterValues()
答案:B
56.【单选】
语句”Hello”.equals(“hello”);的正确执行结果是______。
- A. 1
- B. true
- C. 0
- D. false
答案:D
解析
equals()是Object的方法,和”==”一样,功能是比较两个操作数是否是同一个对象,但类库中许多子类重写了equals()方法,使其变为比较两个操作数的内容是否一样,两串相等则返回ture,否则返回false。
57.【单选】
若变量a是String类型的数据,那么表达式(a+a)的类型是______。
- A. int
- B. char
- C. long
- D. String
答案:D
解析:
在本题中变量a是String类型的数据,运算符”+”在表达式(a+a)中的作用是将前后两个字符串连接起来,所以表达式(a+a)的类型是String。
58.【单选】
使用JSP提交表单后,出现中文乱码问题,解决方法不包括()
- A. 修改jsp页面的编码,使它支持中文
- B. 在Servlet中设置响应中文编码格式
- C. 在Servlet中设置请求中文数据编码格式
- D. 将表单的提交的post请求改为get请求
答案:D
解析:
get请求也会出现乱码的情况
59.【单选】
Java在方法中用来抛出异常关键字的是()
- A. finally
- B. throws
- C. throw
- D. try
- E. catch
答案:C
解析:
Java中有五个异常关键字。
Try:里面是可能出现的异常语句或代码块
catch:出现异常怎么办,里面是处理异常的方法
finally:无论是否产生异常都会执行,一般用于资源的清除工作,比如io流或者是jdbc的驱动关闭
throws:用于方法声明时自动抛出
throw:用于实际手动抛出
60.【单选】
下列哪些表达式所存储的对象可以被 servlet 或 jsp 在 session里使用()
- A. response.setAttribute(name,value);
- B. request.getSession().setAttribute(name,value);
- C. request.setParameter(name,value);
- D. request.setAttribute(name,value);
答案:B