一、 填空题
- Servlet中使用Session对象的步骤为:调用 HttpServletRequest.getSession() 得到Session对象,查看Session对象,在会话中保存数据
- http全称是___HyperText Transfer Protocol_____
- 用户可以有多种方式请求Servlet,如 浏览器直接调用,页面form中提交调用 、 超链接调用 、 Servlet调用 等。
- out对象的 _out.flush()_方法,功能是输出缓冲的内容。
- response对象的_ sendRedirect(URL url)__方法可以将当前客户端的请求转到其他页面去。表单的提交方法包括__get__和___post__方法。
- response.setHeader(“Refresh”, “5”)的含义是指 页面刷新时间为 5秒 _。
- 表单标记中的__action___属性用于指定处理表单数据程序url的地址。
- 使用cookie的基本步骤为:创建cookie对象,设置cookie对象的有效时间 ,传送cookie对象 , 读取cookie对象 。
- Servlet中使用Session对象的步骤为: 调用 HttpServletRequest.getSession() 得到Session对象,查看Session对象,在会话中保存数据。
- 在Servlet中,主要使用HttpServletResponse类的重定向方法 sendRedirect() 方法实现重定向,以及使用RequestDispatcher类的转发方法 forward() 方法实现转发功能。
- javax.servlet.Servlet接口定义了三个用于Servlet生命周期的方法,它们是 init() 、service() 、 destroy()
- Servlet中使用Session对象的步骤为: 调用 HttpServletRequest.getSession() 得到Session对象,查看Session对象,在会话中保存数据。
- Servlet运行于 服务器 端,与处于客户端的___ Applet ___相对应。
- 当Server关闭时,_ Servlet __就被销毁。
- 使用Servlet处理表单提交时,两个最重要的方法是_ doGet() _和_doPost() 。
- Serlvet接口只定义了一个服务方法就是_ service() _。
- MVC是三层开发结构,这三个字母按顺序分别代表_ model__、__view 、__controller __。
- Filter接口中最主要的方法是 doFilter 方法。
- 实现Filter接口的类需要重写doFilter方法、init方法、destroy方法。
- ServletContext 被创建时的监听类需要实现 ServletContextListener接口。
- 配置事件监听类的配置文件是 <listener><listener-class>监听类路径</listenr-class></listener>______
- url-pattern配置方式都有那些:_____ /s、/*、*.do
- "/"的问题。在浏览器发请求时它代表什么含义__代表服务器根目录__,_服务器内部跳转时代表什么含义___代表项目根目录_____
- 下面代码有什么问题,请指出:resp.setContentType("text/html,charset=gbk");
_______中间应该是;而不是,_____
二、 选择题
1. |
对于B/S架构的工作流程,以下说法正确的是( A )(选择一项) |
|
|
|
|
|
A. |
浏览器接受用户的输入-->浏览器向服务器端发送请求-->服务器端数据处理-->响应数据至客户端 |
|
B. |
发送响应-->浏览器接受用户的输入-->浏览器向服务器端发送请求-->服务器端数据处理 |
|
C. |
发送响应-->浏览器接受用户的输入-->服务器端数据处理-->浏览器向服务器端发送请求 |
|
D. |
浏览器接受用户的输入-->发送响应-->服务器端数据处理-->浏览器向服务器端发送请求 |
2. |
关于动态网页的特点,以下说法正确的是( D )(选择一项) |
|
|
|
|
|
A. |
交互性 |
|
B. |
自动更新 |
|
C. |
随机性 |
|
D. |
以上说法均正确 |
3. |
如果做动态网站开发,以下( A )可以作为服务器端脚本语言(选择一项) |
|
|
|
|
|
A. |
Java |
|
B. |
Jsp |
|
C. |
Javascript |
|
D. |
Html |
4. |
关于Tomcat服务器的说法中正确的是( AC )(选择二项) |
|
|
|
|
|
A. |
tomcat出自于apache,可以为web应用程序提供运行环境 |
|
B. |
使用tomcat需要支付费用,否则不允许授权使用 |
|
C. |
tomcat是一款开源服务器,性能优良 |
|
D. |
以上全正确 |
5. |
在WEB项目的目录结构中,web.xml文件位于( C )中(选择一项) |
|
|
|
|
|
A. |
Src |
|
B. |
META-INF |
|
C. |
WEB-INF |
|
D. |
WebRoot |
6. |
在Servlet生命周期中,对应服务阶段的方法是( C )(选择一项) |
|
|
|
|
|
A. |
init() |
|
B. |
destroy() |
|
C. |
service() |
|
D. |
initial() |
7. |
在web编程中,对于cookie的作用说法正确的有( A )(选择一项) |
|
|
|
|
|
A. |
为了识别不同的用户信息 |
|
B. |
为了简化程序开发 |
|
C. |
为了提高程序执行速度 |
|
D. |
以上说法都不对 |
8. |
对于ServletRequest接口的getAttribute()方法,说法正确的是( A )(选择一项) |
|
|
|
|
|
A. |
获取指定名称的属性值 |
|
B. |
设置指定属性的值 |
|
C. |
删除指定属性的值 |
|
D. |
以上都不对 |
9. |
<servlet> <servlet-name>testServlet</servlet-name> <servlet-class>com.accp.servlet.TestServlet</servlet-class> </servlet> 对于以上代码片段,说法正确的是( AB )(选择二项) |
|
|
|
|
|
A. |
配置了逻辑名为testServlet的Servlet组件 |
|
B. |
其对于的类的路径是:com.accp.servlet.TestServlet |
|
C. |
客户端可以通过testServlet访问 |
|
D. |
以上说法都不对 |
10. |
在java Web应用开发中,Servlet程序需要在( B )文件中配置。(选择一项) |
|
|
|
|
|
A. |
Jsp |
|
B. |
web.xml |
|
C. |
struts.xml |
|
D. |
servlet.xml |
11. |
在Java EE中,HttpServletResponse的( B )方法用于一个HTTP请求重定向到另一个资源。(选择一项) |
|
|
|
|
|
A. |
sendURL() |
|
B. |
sendRedirect() |
|
C. |
forward() |
|
D. |
redirectURL() |
12. |
以下哪种格式是正确的URL( A )(选择一项) |
|
|
|
|
|
A. |
http://localhost:8080/news/index.jsp> |
|
B. |
http://localhost/8080/news/index.jsp> |
|
C. |
http://localhost/8080:news/index.jsp> |
|
D. |
http:localhost://8080/news/index.jsp |
13. |
以下代码中可以正确设置客户端请求编码为UTF-8 的是( A )(选择一项) |
|
|
|
|
|
A. |
request.setCharacterEncoding("UTF-8") |
|
B. |
request.setCharset("UTF-8") |
|
C. |
request.setContentType("UTF-8") |
|
D. |
request.setEncoding("UTF-8") |
14. |
通过response的( A )方法可以设置响应所采用的字符编码类型。(选择一项) |
|
|
|
|
|
A. |
setCharacterEncoding() |
|
B. |
setCharset() |
|
C. |
setEncoding() |
|
D. |
setContentType() |
15. |
在部署带有Servlet的Java Web程序时,( D )不是必需的。(选择一项) |
|
|
|
|
|
A. |
web.xml文件 |
|
B. |
WEB-INF文件夹 |
|
C. |
classes文件夹 |
|
D. |
csses文件夹 |
16. |
对于servlet在程序中的作用,以下说法正确的是( AB )(选择二项) |
|
|
|
|
|
A. |
分离业务逻辑代码与表现层代码 |
|
B. |
让程序执行流程更加清晰 |
|
C. |
加快了程序访问速度 |
|
D. |
大大减少了编码工作量 |
17. |
在WEB应用程序开发中,有时会出现Tomcat端口号已经被占用的情况,为此我们需要修改配置文件,下列选项中修改正确的是( B )(选择一项) |
|
|
|
|
|
A. |
在tomcat目录in文件夹server.xml文件中,修改 Connection的port |
|
B. |
在tomcat目录conf文件夹server.xml文件中,修改 Connector的port |
|
C. |
在tomcat目录in文件夹server.xml文件中,修改 Connector的port |
|
D. |
在tomcat目录conf文件夹server.xml文件中,修改 Connection的port |
18. |
如果要把一个“accp”字符串信息放在session对象里,则下列正确的是( A )(选择一项) |
|
|
|
|
|
A. |
session.setAttribute("message","accp"); |
|
B. |
session.setAttribute(message,"accp"); |
|
C. |
session.setAttribute("accp","message"); |
|
D. |
session.setAttributes("message","accp"); |
19. |
如果要从session范围取出名为flag的变量,则以下说法正确的是( A )(选择一项) |
|
|
|
|
|
A. |
session.getAttribute("flag"); |
|
B. |
session.getAttributes("flag"); |
|
C. |
session.getParameter("flag"); |
|
D. |
session.get("flag"); |
20. |
假设session对象中存放了一个Book对象,即:session.setAttribute("book",new Book()) , 则取出Book对象的正确语句是( B )(选择一项) |
|
|
|
|
|
A. |
Book book = session.getAttribute("book") |
|
B. |
Book book = (Book)session.getAttribute("book") |
|
C. |
Book book = session.getValue("book") |
|
D. |
Book book = (Book)session.getValue("book") |
21. |
在JSP中,以下可以实现请求转发的是( D )(选择一项) |
|
|
|
|
|
A. |
request.getRequestDispatcher("list.jsp"); |
|
B. |
response.getRequestDispatcher("list.jsp"); |
|
C. |
response.getRequestDispatcher("list.jsp").forward(request,response); |
|
D. |
request.getRequestDispatcher("list.jsp").forward(request,response); |
22. |
web.xml中预先对Servlet进行初始化设置的代码如下: <init-param> <param-name>myWord</param-name> <param-value>hello</param-value> </init-param> 则如下获取初始化参数的语句正确的是( A )。(选择一项) |
|
|
|
|
|
A. |
String myWord = getInitParameter("myWord"); |
|
B. |
String myWord = getInitParameter("hello"); |
|
C. |
String myWord = getInit("myWorld"); |
|
D. |
String myWord= getInit("hello"); |
23. |
以下代码片段是使用cookie存储数据,横线处填写( D )可以在look.jsp页面显示”用户名:Jack";(选择一项) <% response.addCookie(new Cookie("uname","Jack"); ___________________________(1)____________ %> look.jsp页面部分代码 <% Cookie[]cookies=___________(2)______________ String user=""; if(cookies !=null){ for(int i =0;i<cookies.length;i++){ if(cookies[i].getName().equals("uname")) user = cookies[i].getValues(); } } out.print("用户名:+user); %> |
|
|
|
|
|
A. |
(1)request.getRequestDispatcher("look.jsp").forward(request,response) (2)response.getCookies(); |
|
B. |
(1)request.getRequestDispatcher("look.jsp").forward(request,response) (2)request.getCookies(); |
|
C. |
(1)response.sendRedirect("look.jsp") (2)response.getCookies(); |
|
D. |
(1)response.sendRedirect("look.jsp") (2)request.getCookies(); |
24. |
以下关于Servlet生命周期说法错误的是( C )。(选择一项) |
|
|
|
|
|
A. |
Servlet容器根据Servlet类的位置加载Servlet类,成功加载后,由0容器创建Servlet的实例 |
|
B. |
对于每一个Servlet实例,init()方法只被调用一次 |
|
C. |
当Servlet容器接收到客户端请求时,调用 Servlet的service()方法以及destory()方法处理客户端请求 |
|
D. |
servlet的实例是由servlet容器创建的,所以实例销毁也由容器业完成 |
25. |
以下关于转发和重定向的说法错误的是( C )(选择一项) |
|
|
|
|
|
A. |
转发通过request的getRequestDispatcher().forward()方法即可实现,它的作用是在多个页面交互过程中实现请求数据的共享。 |
|
B. |
重定向可以理解为是浏览器至少提交了两次请求,它是在客户端发挥作用,通过请求新的地址实现页面转向 |
|
C. |
转发和重定向都可以共享request范围内的数据 |
|
D. |
转发时客户端的URL地址不会发生改变,而重定向时客户端浏览器中显示的是新的URL地址。 |
26. |
以下Servlet代码主要实现添加功能,并进行了中文乱码的处理。其中第( C )处有错误。(选择一项) public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); //1处 response.setCharacterEncoding("utf-8"); //2处 String name=request.getparam("uname"); //3处 ...... PrintWriter out = response.getWriter(); //4处 ...... } |
|
|
|
|
|
A. |
1 |
|
B. |
2 |
|
C. |
3 |
|
D. |
4 |
27. |
自定义标签的配置文件放在___D___ |
|
|
|
|
|
A. |
WebRoot |
|
B. |
lib |
|
C. |
classes |
|
D. |
WEB-INF |
28. |
在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是( B )。(选择一项) Public class Servlet1 extends HttpServlet{ Publicvoid init() throws ServletException{ } Publicvoid service(HttpServletRequest request,HttpServletResponse response) ThrowsServletException,IOException{ PrintWriterout = response.getWriter(); out.println(“hello!”); } } |
|
|
|
|
|
A. |
编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过 |
|
B. |
编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello! |
|
C. |
编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字 |
|
D. |
编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息 |
29. |
J2EE中,Servlet API为使用Cookie,提供了( A )类。 |
|
|
|
|
|
A. |
javax.servlet.http.Cookie |
|
B. |
javax.servlet.http.HttpCookie |
|
C. |
javax.servlet. Cookie |
|
D. |
javax.servlet.http.HttpCookie |
30 |
能够保留请求作用域中数据的转向方式是__D___ |
|
|
|
|
|
A. |
response.forward() |
|
B. |
response.sendRedirect() |
|
C. |
session.getRequestDispatcher().forward(request,response) |
|
D. |
request.getRequestDispatcher().forward(request,response) |
三、 判断题
- out对象是一个输出流,它实现了javax.servlet.JspWriter接口,用来向客户端输出数据。( T )
- 利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。( T )
- respone对象主要用于向客户端发送数据。( T )
- Post属于表单的隐式提交信息方法。( T )
- 表单提交的信息就封装在HTTP请求消息的信息体部分,用户使用request对象的getParameter方法可以得到通过表单提交的信息。( T )
- request对象的getRemoteHost()方法既能获取客户机的名称,又能获取客户IP地址的方法是( T )
- 同一个客户在同一个Web服务目录中的session对象是相同的,在不同的Web服务目录中的session对象是不相同的。( T )
- session对象是HttpSession接口类的实例,由客户端负责创建和销毁,所以不同客户的session对象不同。( F )
- publiclongsession.setMaxInactiveInterval()设置最长发呆时间,单位毫秒。( F )
- session对象可以用来保存用户会话期间需要保存的数据信息。( T )
- url重写可以把session对象的id作为url参数传带过去,可以使用request对象的encodeURL(“”)。( F )
- application对象对所有用户都是共享的,任何对它的操作都会影响到所有的用户。( T )
- application对象可以用来保存数据。( T )
- 使用request对象获取信息的时候,可能会出现NullPointerException异常( F )
- Servlet与Applet它们都运行在服务器端。( F )
- Cookie由浏览器保存在客户端,通常保存为一个文本文件。( T )
- 客户机与Servlet间可以直接的交互。( F )
- servlet容器中,一个Servlet类只会new一个servlet对象( T )
- 当服务器收到一个请求时,会new一个新的线程来处理该请求( T )
- request.getSession(),调用两次后,返回的Session对象是完全不同的两个对象( F )
- servlet能脱离服务器运行( F )
- 一个servlet可以对应多个url( T )
- servlet程序通过HttpServletResponse对象直接将信息发送给客户端( F )
四、 简答题
- 创建并运行一个Servlet的基本流畅是什么?
- 简述Servlet的声明周期
- 简述请求转发于重定向的区别
- 简述tomcat的目录结构及其作用
- 简述HTTP协议的特点
- 简述Cookie和Session机制
- tomcat配置文件web.xml中,DefalutServlet的作用是? JspServlet的作用是?
- server.xml中,我们修改哪个元素的哪个属性可以将服务器监听端口改成其他端口?80端口有什么特别吗?
- 请说明:service,doGet,doPost方法的调用顺序
10.下面的问题如何解决:405 http method post is not supported by this url
11. Servlet中可以随意定义成员变量和随意使用它。对不对?为什么?
12. 我想让session对象使用完后,立马失效。可以调用哪些方法?
13. 翻译如下英文,明白session的基本用法:
Provides a way to identify a user across more than one page request or visit to a Web site and to store information about that user.
The servlet container uses this interface to create a session between an HTTP client and an HTTP server. The session persists for a specified time period, across more than one connection or page request from the user. A session usually corresponds to one user, who may visit a site many times. The server can maintain a session in many ways such as using cookies or rewriting URLs.
This interface allows servlets to
View and manipulate information about a session, such as the session identifier, creation time, and last accessed time
Bind objects to sessions, allowing user information to persist across multiple user connections
14. tomcat目录:lib、webapps分别有什么作用?
15. 如何手工发布一个web项目到tomcat服务器上?
五、 编码题
1. 动手操作:解压tomcat,配置JAVA_HOME。启动tomcat,关闭tomcat。
2. 动手操作:建立一个web项目,建立一个servlet并配置,将该项目发布到tomcat下。然后访问你写好的servlet
3. 动手操作:建立第二个servlet,使用HttpServletRequest对象读取某个请求头信息,使用HttpServletResponse对象向客户端写比较复杂的html、css、js代码。
4.使用纯Servlet技术实现网站登陆功能,要求链接数据库,创建一个User表。User表包括id、用户名,密码,昵称,用户创建日期,性别,年龄这些字段,并使用cookie技术实现三天免登陆功能。要求有用户密码登陆错误提示,以及用户名和密码格式检验,验证码,并有友好的HTML界面。