1、【单选题】
(单选题)在配置tomcat虚拟目录时,需要打开哪个文件? ()
A. index.jsp
B.web.xml
C.server.xml
D.以上都不是
【正确答案】C
解析:作用类似于访问某个设定的路径时,根据虚拟路径的配置去访问一个绝对路径下的项目
1.E盘根目录下创建demo文件夹(E:\demo)。复制Tomcat目录下的webapps\ROOT中的WEB-INFO文件夹到demo文件夹。
(里面带有一个web.xml文件)
2.在tomcat\conf下server.xml中找到
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
3.在头标签和尾标签之间添加:<Context path="localhost后的路径" docBase="项目的绝对路径" ></Context>
4.打开Tomcat的conf中的web.xml 文件,在其中找到
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
将false设成true保存,启动Tomcat。访问: http://localhost/localhost后的路径
2、【单选题】
(单选题)完整的配置一个Servlet需要_____标签
A.<webapp></webapp>
B.<servlet></servlet>和<servlet-mapping></servlet-mapping>
C.<servlet-name/>和<servlet-class>
D.<servlet-mapping>和<servlet-name>
【正确答案】B
3、【单选题】
(单选题)在J2EE中,对于HttpServlet类的描述,错误的是?
A.我们自己编写的Servlet继承了HttpServlet类,一定需覆盖doPost或者doGet方法。
B.Httpservlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法。
C.Httpservlet类中处理客户请求和响应时所使用的两个接口是:HttpServletRequest和HttpServletResponse
D.我们自己编写的servlet继承了Httpservlet类,一般只需要覆盖doPost或doGet方法,不必覆盖servive()方法,因为一个service()方法会调用doPost或者doGet方法。
【正确答案】A
4、【单选题】
(单选题)在tomcat发布web应用myweb,定义类cn.tedu.Hello.java,Hello.class应该被放置在哪个目录( ${CATALINA_HOME}即为tomcat安装目录)?
A.${CATALINA_HOME}/webapps/myweb/WEB-INF/classes/Hello.class
B.${CATALINA_HOME}/webapps/myweb/WEB-INF/classes/cn/tedu/Hello.class
C.${CATALINA_HOME}/webapps/myweb/WEB-INF/classes/cn.tedu.Hello.class
D.${CATALINA_HOME}/webapps/myweb/WEB-INF/classes/cn.tedu/Hello.class
【正确答案】B
5、(单选题)安装tomcat成功后,要修改tomcat端口,要修改的文件是?
A.tomcat/bin/startup.bat文件
B.tomcat/conf/server.xml
C.tomcat/conf/web.xml
D.tomcat/bin/server.xml
【正确答案】B
6、【单选题】
(单选题)请求Servlet的时候,Servlet的对象由____?
A.服务器负责实例化
B.由开发人员在请求中实例化
C.Servlet会自动实例化
D.Servlet只加载,无需实例化
【正确答案】A
7、【单选题】
(单选题)写入和读取Cookie的代码分别是_____。
A.request.addCookies()和response.getCookies();
B.response.addCookie()和request.getCookie();
C.response.addCookies()和request.getCookies();
D.response.addCookie()和request.getCookies();
【正确答案】D
8、【单选题】
(单选题)request.setAttribute("u", user) 其中user有一个 private String name; 属性和一个方法:
public String getUsername() {
return this.name;
}
以下哪个选项能输出这个它的name属性值?
A.${ u.name}
B.${ user.name}
C.${ u.username}
D.${request.u.username }
【正确答案】C
解析 el 表达式会调用getUsername()函数, 表达式中需要用getUsername中的username(U改成小写)
9、【单选题】
(单选题)在访问Servlet时,在浏览器地址栏中输入的路径是在__地方配置的。
A.<servlet-name/>
B.<servlet-mapping/>
C.<uri-pattern/>
D.<url-pattern/>
【正确答案】D
10、【单选题】
(单选题)HttpServlet的子类要从HTTP请求中获得请求参数,应该调用哪个方法?
A.调用HttpServletRequest对象的getAttribute()方法
B.调用ServletContext对象的getAttribute()方法
C.调用HttpServletRequest对象的getParameter()方法
D.调用HttpServletRequest对象的getHeader()方法
【正确答案】C
11、【单选题】
(单选题)在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是:
Public class Servlet1 extends HttpServlet{
Publicvoid init() throws ServletException{ }
Publicvoid service(HttpServletRequest request,HttpServletResponse response)
ThrowsServletException,IOException{
PrintWriter out = response.getWriter();
out.println(“hello!”);
}
}
A.编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过
B.编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!
C.编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字
D.编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息
【正确答案】B
12、【单选题】
(单选题)在ServletA 的doGet方法中的代码片段,如下:
request.setAttribute("name","zhang");
response.sendRedirect("http://localhost:8080/servlet/MyServlt");
那么在 MyServlet 中可以使用____方法把属性 name的值取出来。
A.String str = request.getAttribute("name");
B.String str = (String)request.getAttribute("name");
C.Object str = request.getAttribute("name");
D.无法取出来
【正确答案】D
解析:重定向无法共享request和response
13、【单选题】
(单选题)假设在helloapp应用中有一个hello.jsp,它的文件路径如下:<CATALINA_HOME>/webapps/helloapp/hello/hello.jsp 在web.xml文件中没有对hello.jsp作任何配置,那么浏览器端访问hello.jsp的URL是什么?
A.http://localhost:8080/hello.jsp
B.http://localhost:8080/helloapp/hello.jsp
C.http://localhost:8080/helloapp/hello/hello.jsp
D.http://localhost:8080/hello
【正确答案】C
14、【单选题】
(单选题)Servlet中,HttpServletResponse的()方法用来把一个Http请求重定向到另外的URL。
A.sendURL()
B.redirectURL()
C.sendRedirect()
D.redirectResponse()
【正确答案】C
15、【多选题】
(多选题)response对象是对服务器的响应信息作出的封装对象。其主要作用有?
A.可以向客户端输出信息
B.可以实现请求重定向
C.可以作为域对象实现资源共享
D.可以设置响应头和状态
【正确答案】A,B,D
解析:request和response中只有request能作为域对象实现资源共享(request.setAttribute)
16、【多选题】
(多选题)关于HttpSession的getAttibute()和setAttribute()方法,正确的说法是?
A.getAttribute()方法返回类型是String
B.getAttribute()方法返回类型是Object
C.setAttribute()方法保存数据时如果名字重复会抛出异常
D.setAttribute()方法保存数据时如果名字重复会覆盖以前的数据
【正确答案】B,D
解析:
getAttribute()方法返回类型是Object(不是String类型)
setAttribute()方法保存数据时如果名字重复会覆盖以前的数据
17、【多选题】
(多选题)关于请求转发、请求重定向、定时刷新下列说法正确的是?
A.请求转发是一次请求一次响应,地址栏地址不会发生变化
B.定时刷新可以实现在跳转之前的这段时间输出数据到客户端浏览器
C.请求重定向和定时刷新的实现机制是相同的,属于同一种资源跳转
D.请求重定向和定时刷新是两次请求两次响应,并且地址栏地址会发生变化
【正确答案】A,B,D
18、【多选题】
(多选题)服务器通过字符流响应数据给客户端浏览器,浏览器收到数据后出现乱码, Servlet中doGet()方法代码如下:
response.getWriter().write("中国");
而此时浏览器收到的数据是:"??"
根据上述描述判断下面说法正确的是?
A.出现乱码的原因是因为编解码使用的码表不一致造成的。
B.出现乱码是因为客户端浏览器查错了码表。
C.出现乱码是因为服务器发送数据时查错了码表。
D.可以通过response.setContentType(“text\html,charset=utf-8”);来解决乱码
【正确答案】A,C
解析:选C不知道为啥, 以后选择考试题尽量不要选择此题
19、【多选题】
(多选题)关于request和response下列说法中不正确的是?
A.javaweb开发是基于HTTP协议进行的,javaweb中使用request代表请求对象,response代表响应对象
B.request对象代表请求,response对象代表响应,这两个对象都是由浏览器创建后发送给服务器的
C.HTTP协议只规定了浏览器和服务器之间如何通信,而request和response对象是由javaee规范规定的、由javaweb容器负责创建的。
D.HTTP协议是javaweb开发的基石,如response中提供的请求重定向的方法和request中提供的转发和包含方法就是基于HTTP协议进行的
【正确答案】B,D
解析: response, request两个对象由Tomcat容器创建。
转发和重定向是基于javaEE规范(不是基于http协议的)
20、【多选题】
(多选题)关于下列描述错误的是__()
A.request对象的getSession()方法每次调用都创建一个新的session对象
B.request对象的getSession()方法用于创建一个新的或者获取一个已存在的session对象
C.request对象的getSession(false)方法每次调用都创建一个新的session对象
D.request对象的getSession(false)方法用于获取一个已存在的session, 如果没有session, 将会返回null
【正确答案】A,C
解析:
request.getSession() 有session就不创建并返回,没有session就创建并返回
request.getSession(true)和上边相同
request.getSession(false)获取已存在的session, 没有就返回null
21、【多选题】
(多选题)下列说法正确的是?
A.请求转发是服务器端技术,与浏览器没有任何关系,浏览器并不知道获得的响应消息是否是经过转发得到的。
B.请求转发的过程中转发前写入response中的实体内容数据会丢失掉,最终输出的将是请求转发过程中的最后一个节点资源的数据输出。
C.请求转发是两次请求两次响应
D.一个Servlet中可以转发两次
【正确答案】A,B
解析:
转发前用response.getWriter().write()写出数据, 转发后再次用此函数写出数据, 最终写出的第二遍的数据
转发是一次请求一次响应
一个servlet只能转发一次(用eclipse测试过: 转发两次会出现500异常,提示response对象已提交)
22、【多选题】
(多选题)request的功能有哪些?
A.实现请求转发和包含数据
B.保存会话中的数据
C.作为域对象使用
D.获取Session对象
【正确答案】A,C,D
解析:request对象可以保存会话对象,不能说:可以保存会话中的数据
23、【多选题】
(多选题)有关Servlet的生命周期说法正确的有?
A.Servlet的生命周期由Servlet实例控制
B.init()方法在创建完Servlet实例后对, Servlet调用该方法进行初始化
C.service()方法处理客户端发出的请求
D.destroy()方法在servlet销毁时执行
【正确答案】C,D
解析:Tomcat容器调用init方法对servlet实例初始化(而不是servlet实例调用该方法)
24、【多选题】
(多选题)下面哪些是属于JAVAEE规范中的技术?
A.XML
B.Html/css/js
C.JDBC
D.Servlet
【正确答案】A,C,D
原文:https://www.cnblogs.com/zhaoyongqi/p/servlet_exam.html