一、 填空题
- 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目录\bin文件夹\server.xml文件中,修改 Connection的port |
| B. | 在tomcat目录\conf文件夹\server.xml文件中,修改 Connector的port |
| C. | 在tomcat目录\bin文件夹\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界面。