JavaWeb测试题

更新时间:2023-09-20 07:53:01 阅读量: 医药卫生 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

翰子昂阶段性测试_S2考试试卷 科目:JavaWeb

一.选择题,共40道,每题1分

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

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

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

c) 指定JSP页面采用的编码方式,默认为text/html d) 服务器所在国家

2. 使用JSP开发Web项目时,web.xml文件一般位于目录结构中的(D )下。(选择一项) a) src目录

b) 文档根目录或其子文件夹 c) META-INF目录 d) WEB-INF目录

3. 在用户登陆的JSP页面上,包含如下代码所示的表单,当用户填写信息后点击“登录”按钮时,将产生的结果是( A)。(选择一项)

a) 表单提交到loginAction.jsp,用户可以在浏览器的地址栏看到提交的参数 b) 表单提交到loginAction.jsp,用户不能在浏览器的地址栏看到提交的参数 c) 表单提交到loginForm,用户可以在浏览器的地址看到提交的参数 d) 表单提交到loginForm,用户不能在浏览器的地址栏看到提交的参数

4. 在Java中JDBC API定义了一组用于与数据库进行通信的接口和类,它们包括在(B )包中。(选择一项) a) java.lang b) java.sql c) java.util d) java.math

5. JSP文件test.jsp内容如下所示,则试图运行时,将发生( B )。(选择一项) <%{%>

<%String str;%> <%}%>

Str is <% = str%>

a) 翻译期错误

b) 编译Java源码时发生错误

c) 执行编译后的字节码时发生错误 d) 运行后,浏览器上显示:str is null

6. 在JDBC应用程序中,使用Statement接口的( D)方法,执行查询语句,并可返回结果集。(选择一项) a) execute() b) close()

c) executeUpdate() d) executeQuery()

7. 在Java中,下列接口或类不包括在java.sql包中的是( A )。(选择一项) a) ArrayList b) Connection c) Statement d) DriverManager

8. 在Java Web应用程序中,运行a.jsp后,浏览器上显示如下表格,在a,jsp上进行选择后将页面提交到b.jsp中要获得选中的复选框的值(假定复选框的名称均为id),应该编写下列( D )代码段。(选择一项) a) <%

String ids=request.getParameter(“id”); if(ids != null&& ids.length !=0){ for(int i=0;

b) <%

String ids*+=request.getParameter(“id”); if(ids != null&& ids.length!=0){ for(int i=0;

c) <%

String ids=request.getParameterValues(“id”); if(ids != null&& ids.length!=0){ for(int i=0;

d) <%

String ids*+=request.getParameterValues(“id”); if(ids != null&& ids.length!=0){

for(int i=0;

} %>

9. 项中对JSP内置对象描述正确的是( CD )。(选择两项) a) session对象应用于整个应用程序。

b) application对象存储有关用户的会话状况 c) request对象用于客户端的请求处理 d) out对象用于客户端输出数据

10. 使用Java代码实现从表table中取出所有数据信息,代码如下(假设可以直接调用数据库连接conn),下面对代码描述正确的是( C )。(选择一项) public List getInfo(){

List list=new ArrayList();

String sql=“select * from table1”;

PrearedStatement pst=conn.prepareStatement(); Result rs=pst.executeQuery(); If(rs.next()){

list.add(rs.get(1)); }

return list; }

a) 返回list集合,包含一条信息

b) 返回list集合,包含所有数据信息 c) 程序发生编译错误,无法运行 d) 编译通过,运行时出错

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

<%String str=null;%> Str is <%=str%>

a) 翻译期错误

b) 编译JAVA源码时发生错误

c) 执行编译后的字节码时发生错误 d) 运行时,浏览器上显示:str is null

12. 在Java中使用JDBC时,对于多次调用同一条SQL语句的情况,使用( C )通常会提高效率。(选择一项) a) Statement

b) CallableStatement c) PrepareStatement d) ParameterStatement

13. 给定JSP程序代码如下所示,则该JSP运行后输出的结果是( B )。(选择一项)

<%int Count=1;%>

Count:<%=++Count%>

a) Count:1

b) Count:2 c) 1:2 d) Count

14. JSP的页面构成包含了多种元素,在下列选项中,属于JSP指令的是(B )。(选择一项) a) out b) page c) forward d) import

15. 在Java中,LinkedList类和ArrayList类同属于集合框架,下列( D )选项中的方法是这两个类都有的。(选择一项) a) addFirst(Object o) b) getFrist() c) removeFirst() d) add(Object o)

16. 对于Java中的集合类java.util.ArrayList,以下说法正确的是( D )。(选择一项) a) 这个集合中的元素是无序的

b) 可以通过键来获取这个集合中的元素

c) 可以通过addFirst( )方法,在列表的首部插入元素 d) 在对这个集合的元素执行遍历操作时,效率比较高 17. 在JSP的内置对象中,( C )内置对象表示客户端的请求,包含了所有的请求信息。(选择一项)

a) application b) out c) request d) response

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

java.lang.StringBuffer buffer=null; buffer.append(“ABC”); %>

buffer is<%=buffer%>

a) 翻译期错误

b) 编译Java源码时发生错误

c) 执行编译后的字节码时发生错误

d) 运行后,浏览器上显示:buffer is ABC

19. 在使用JSP开发的Web应用程序中,home目录与images目录为同级目录,现在要在home目录下的index.jsp中访问images目录下的图片1.jpg,以下代码片段正确的是(A )。(选择一项)

a) b) c) d)

20. 在Java JDBC编程中,可以使用PreparedStatement接口为特定的SQL命令指定多个参数,此时需要在创建SQL语句时为每个参数各用一个( C )符号为占位符。(选择一项) a) * b) _ c) ? d) %

21. 在JSP页面上进行访问控制时,一般会使用JSP的(C )内置对象存储用户信息。(选择一项)

a) request b) response c) session d) application

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

a) request.sendRedirect(“http://www.jb-aaptech.com.cn”); b) request.sendRedirect();

c) response.sendRedirect(“http://www.jb-aptech.com.cn”); d) response.sendRedirect();

23. 在JSP中,以下代码功能是保存已注册用户到session后,进入某网页首页index.jsp页面,否则跳到login.jsp页面完成此功能,下划线处可填入的正确代码应是(C )(选择一项)。 <% ??.

If(rs.next()){ //如果是已注册用户 User loginUser=new User(name,pass); ___________________ ____________________ }else{

Response.sendRedirect(“login.jsp”); }

%>(选择一项)

a) sesstion.save(“login_user”,loginUser); Response.sendRedirect(“index.jsp”);

b) sesstion.setAttribute(“login_user”,loginUser); Response.foward (“index.jsp”);

c) sesstion. setAttribute (“login_user”,loginUser); Response.sendRedirect(“index.jsp”); d) sesstion.save(“login_user”,loginUser); Response. foward (“index.jsp”); 24. 编写JSP小脚本,实现访问该JSP时,在会话对象中保存int型变量i的有效语句是( D )。(选择一项)

a) session.setAttribute(i,”I”); b) session.setParameter(“I”,i);

c) session.setAttribute(new Integer(i),”I”); d) session.setAttribute(“I”,new Integer(i));

25. 给定如下Java代码片段,已知查询语句是:select id from title,并且已经获得了相应的结果集对象res。现在要在控制台上输出title表中id 列(存储类型为int)的值,可以填入下划线处的代码是( AC )。(选择两项) while(res.next()){ Int id = ______ }

a) res.getInt(“id”); b) res.getInt(0); c) res.getInt(1); d) res.getInt(id);

26. JSP页面包含如下代码,则访问此JSP页面时将输出( B )。(选择一项) <%=2+3 %> a) 2+3 b) 5 c) 23

d) 不会输出,因为表达式是错误的

27. 用户登录的JSP页面上,包含如下代码所示的表单,用户希望提交表单时在地址栏上显示提交的信息,则应该在下划线处填写的代码是(AC)。(选择两项) a) get b) post

c) 不填写任何内容 d) 以上选项均可

28. B/S结构是随着Internet技术的兴起,对C/S结构的一种改进,而非C/S结构的替代品,B/S结构相比C/S结构也存在一些劣势,体现在(D)。(选择一项) a) 维护和升级方式复杂 b) 可访问用户范围小 c) 程序开发复杂

d) 很难有丰富界面效果

29. 要运行一个有JSP开发的Web项目,如果正确的URL是

http://localhost:8080/news/index.jsp,而运行时在浏览器中输入了 http://localhost:8080/newws/index.jsp,会出现以下( A )结果。(选择一项) a) 将在IE中提示404错误 b) 将在IE中提示500错误 c) 将在IE中显示空白页

d) 将在IE中提示“系统无法显示网页”

30. 在JSP中,page指令的(B )属性用来引入需要的包或类。(选择一项) a) extends b) import c) language

d) contentType

31. 在JSP中需要将1.jsp的请求数据通过2.jsp转发给3.jsp,应该在2.jsp中采用( C )方式实现。(选择一项)

a) <%request.sendRedirect(“3.jsp”)%> b) <%response.sendRedirect(“3.jsp”)%>

c) <%request.getRequestDispatcher(“3.jsp”).forward(request,response)%> d) <%response.sentRedirect(“32.jsp”).forward(request,response)%>

32. HTML表单的首要标记是

,标记的参数method表示表单发送的方法,可能为GET或POST下列关于和的描述正确的是( B )。(选择一项) a) GET方法传递的数据对客户端是不可见的

b) GET方法以查询字符串的形式发送,查询字符串长度没有大小限制 c) GET方法对发送数据的数量限制在255个字符之内 d) POST方法传递的数据对客户端是可见的

33. 在用户登录JSP页面上,编写了脚本将已登录的用户信息存放到session中,代码 如下所示,那么在其他页面上进行访问控制的代码应是( D )。(选择一项) //name和pwd为String类型的数据 Session.setAttribute(“username”,name); Session.setAttribute(“password”,pwd); a) if(username==null){

Response.sendRedirect(“login.html”); }

b) if(username.equals(“”)),

Response.sendRedirect(“login.thml”); }

c) String name=(String)session.getAttribute(“username”); If(name.equals(“”)),

Response.sendRedirect(“login.html”); }

d) String name=(String)session.getAttribute(“username”); If(name==null){

Response.sendRedirect(“login.html”); }

34. 在设计Web项目的目录结构时,src目录一般放( D )文件。(选择一项) a) html b) jsp

c) web.xml d) Java源文件

35. 在JSP页面上,以下( C )语句,可以把类java.util.Date引入到JSP页面。 (选择一项)

a) <%page import = “java.util.Date”%> b) <%@page import = “java.util.Date”@%> c) <%@page import = “java.util.Date”%> d) <%@ import = “java.util.Date”%>

36. 使用JDBC链接数据库,假定已经获得一个数据库链接,使用变量con来表示,下列语

句中能够正确获得结果集的是( AD )。(选择两项) a) Statement stmt=con.createStatement0;

ResultSet rs=stmt.executeQuery(“SELECT*FROM Tablel”);

b) Statement stmt=con.createStatement(“SELECT*FROM Tablel”); ResultSet rs=stmt.executeQuery0;

c) PreparedStatement stmt=con.prepateStatement0; ResultSet rs=stmt.executeQuery(“SELECT*FROM Tablel”);

d) PreparedStatement stmt=con.prepateStatement(“SELECT*FROM Tablel”); ResultSet rs=stmt.executeQuery0;

37. 在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了ArrayList类的对象bookTypleList,则下列语句中能够实现向列表中添加字符串“小说”的是( C )。(选择一项)

a) bookTypleList.contains(“小说”); b) bookTypleList.get(“小说”); c) bookTypleList.add(“小说”); d) bookTypleList.remove(“小说”); 38. 在Web应用系统中,编写了公共的处理页面为manage.jsp,该页面包含在Web根目录下,那么在Web根目录下的其他页面上引用该页面的代码正确的是( C )(选择一项) a) <%include file = “manage.jsp”%> b) <%!include file = “manage.jsp”%> c) < %@include file = “manage.jsp”%> d)

39. 在JSP页面中,下列( A )代码能够正确的声明计算乘法的方法。(选择一项) a) <%!

Public int mul(int x,int y){ Return x*y ; } %>

b) <%=public int mul(int x,int y){ Return x*y ; } %>

c) <%public int mul(int x,int y){%> <% returnx*y ;%> <%}%> d) <%

Public int mul(int x,int y){ Return x*y ; } %>

40. 在Java中,较为常用的JDBC驱动方式是( A )和( D )。(选择两项) a) JDBC-ODBC桥连

b) mssqlserver 驱动程序 c) 纯ODBC驱动程序

d) 纯Java驱动程序

二.问答题,共10道,每道4分 1. 简述JSP工作原理? JSP本质就是Servlet。

第一次访问jsp时该jsp被进行翻译,将jsp转换为servlet的java源代码 对servlet源码进行编译,生成class字节码 执行serlvet.service() /doGet()/doPost()方法

Jsp所产生的servlet在java web应用中全局有且只有唯一的对象,servlet是单例多线程的,因此servlet中不允许出现状态(即绝对不允许出现属性)。JSP/Servlet对象在web应用关闭或重置的时候被销毁。

2. jsp主要内置对象有哪几种? Request Response Session Application pageContext page out exception config 3. 在Servlet里,如果从session的“list”属性中获取属性值,请写出代码? Object list = request.getSession.getAttribute(“list”);

4. 请简要说明Servlet对象的生命周期? a. 加载,在第一次请求的时候servlet被加载 b. 在第一次请求加载后,调用init()方法对servlet进行初始化 c. 根据客户请求的类型不同,调用doGet/doPost方法处理客户的请求 d. 销毁,web应用关闭或者重启的时候,servlet被销毁,调用destroy()方法 5. 请简述标签与<%@ include%>指令的区别? 前者为动态引用,后者为静态引用。 是动态引用,例如a.jsp include b.jsp , web容器会分别将a.jsp 和 b.jsp翻译成servlet并执行,将输出的字符流进行合并,jsp:include是将两个jsp运行后的输出流进行合并,其中不产生任何额外的java文件。 a.jsp b.jsp 你好 执行后的结果是: 你好 <%@include%>静态引用则是将b.jsp所生成的servlet的源码合并到a.jsp的源码中,然后运行合并后的servlet文件输出结果。 在日常的项目应用中,我建议使用,jsp:include不存在编码不同的问题。 6. 请列举至少三种EL表达式的内置对象,并说明其作用? requestScope 从request中取值 sessionScope 从session中取值 applicationScope ?你懂得 pageScope param

paramValues

7. 列举至少三种JSTL核心库标签,并说明其作用?

8. 请简述HttpServletRequest 、 HttpSession 、ServletContext 三个对象何时被创建、销毁? HttpServletRequest 从浏览器发起一个新的请求时,request对象被创建,当服务器返回response响应的时候请求被销毁。 HttpSession,某个浏览器窗口第一次发送请求的时候session就会被创建,sessionId, session在过期后被销毁(tomcat默认30分钟)或者在程序中调用sesssion.invalidate()销毁当前会话,再或者web应用关闭或重启的时候。 servletContext即application对象,在web应用启动的时候被创建,在web应用关闭或重启的时候被销毁。

9. 简述 request.getRequestDispatcher(“...”).forward() 方法与 response.sendRedirect()方法的区别?

Request.getRequestDispatcher.forward()是一次请求下的跳转,我们可以在b.jsp中使用request.getAttribute(“abc”)获取当前请求中的属性值。 在URL中http://localhost:8080/test/userservlet

sendRedirect它会发起两次请求,也就是意味着b.jsp永远无法获取到第一次请求的内容 在URL中http://localhost:8080/test/b.jsp

10. 什么是MVC,MVC的优点?

MVC : MVC的根本目的是让软件架构层面上进行“解耦”

Model:模型层:包含两部分只能:1业务逻辑的运算职能 2. 数据的持久化 View:视图层(表示层),接收用户输入、展现数据的结果

Controller :控制层,它作为view和model的枢纽存在,它的作用是承上启下: Struts2中使用Action所谓控制层,Action的具体职能是: 接收来自于客户端的数据

调用Model层(Service类或者DAO类)将数据进行处理 跳转界面,显示处理结果。 三.程序题 20分

完整书写com.handson.servlet.HelloServlet类代码,要求用户通过Get方式访问该Servlet对象后,HelloServlet向浏览器输出“中国,您好!”这句中文,并将这句话保存在session的“title”属性中以备日后使用。 Package com.handson.servlet;

Public class HelloServlet extends HttpServlet{ Public void doGet(HttpServletRequest request , HttpServletResponse response) throws IOException{ String msg = “中国,你好!”; HttpSession session = request.getSession(); Session.setAttribute(“title” , msg); Response.setContentType(“text/html;charset=utf-8”); Response.setCharacterEncoding(“UTF-8”); PrintWriter out = Response.getWrite(); out.println(msg); out.flush(); }

Public void doPost(HttpServletRequest request , HttpServletResponse response) throws IOException{

This.doGet(request , response); }

本文来源:https://www.bwwdw.com/article/n5gh.html

Top