收藏 分销(赏)

JavaWeb应用开发期末试卷及答案AB卷2套.doc

上传人:天**** 文档编号:3242962 上传时间:2024-06-26 格式:DOC 页数:9 大小:152.55KB 下载积分:6 金币
下载 相关 举报
JavaWeb应用开发期末试卷及答案AB卷2套.doc_第1页
第1页 / 共9页
JavaWeb应用开发期末试卷及答案AB卷2套.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
JavaWeb应用开发期末试卷及答案AB卷2套 一、选择题(共20题,总计40分,每小题2分) 1.在jsp中,要使用一个表达式,需要用到以下( )元素。 A、<%= %> B、 <% %> C、 <%! %> D、<%@ %> 2.在客户端浏览器的源代码中可以看到( ) A、JSP注释 B、HTML注释 C、JSP注释和HTML注释 D、JAVA注释 3.以下哪个包是page指令默认导入的(   ) A、java.lang.* B、java.util.* C、javax.servlet.* D、javax.servlet.jsp.* 4.page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是(  ) A、<%@ page %>作用于整个JSP页面。 B、可以在一个页面中使用多个<%@ page %>指令。 C、为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。 D、<%@ page %>指令中的属性只能出现一次。 5.在JSP中调用JavaBean时不会用到的标记是(   ) A、<java:bean> B、<jsp:useBean> C、<jsp:setProperty>   D、<jsp:getProperty> 6.Tomcat服务默认情况下使用的端口号是( ) A、8000 B、8080 C、8888 D、80 7.使用request对象的getParameter()方法可以读取一个输入控件的哪个属性值( ) A、type B、value C、size  D、name 8.page指令的import属性的作用是( ) A、定义JSP页面响应的MIME类型 B、定义JSP页面使用的脚本语言 C、为JSP页面引入JAVA包中的类 D、定义JSP页面字符的编码 9.如果某个类要成为Servlet,则它应该继承如下哪个类(    ) A、HttpServletRequest B、HttpServlet C、HttpServletResponse D、GenericServlet 10.表单标记中的action属性的作用是(   ) A、为表单命名 B、调用客户端验证方法 C、指明表单信息发送的目的地址 D、声明表单的提交方式 11.MVC中V指的是( )。 A、视图层 B、控制层 C、模型层 D、持久化层 12.以下对象中的( )不是JSP的内置对象。 A、request B、session C、application D、bean 13.下述选项中不属于JDBC基本功能的是( ) A、与数据库建立连接 B、提交SQL语句 C、处理查询结果 D、数据库维护管理 14.在JSP中,内置对象( )封装了用户提交的信息,使用该对象可以获取用户提交的信息。 A、session B、request C、response D、out 15.要在session对象中保存属性,可以使用以下哪个语句?( ) A、session.getAttribute("key","value"); B、session.setAttribute("key","value"); C、session.setAtrribute("key"); D、session.getAttribute("key"); 16.以下关于JavaBean的描述错误的是( ) A、JavaBean是一个公有java类 B、JavaBean提供给外界使用的方法是公有类型的 C、JavaBean必须有一个带参构造方法 D、在JSP中使用的JavaBean必须放在一个有名包中 17.关于get和post两种请求,下列说法正确的是( ) A、get请求是默认的。 B、get请求处理的数据量大小不受到限制。 C、post请求地址栏里是能看到数据的。 D、post请求可以由doGet方法处理。 18.下列哪个不是Servlet接口的方法( ) A、doGet方法 B、doPost方法 C、init方法 D、forward方法 19.Servlet 使用( )接口的 forward和 include方法进行通信。 A、ServletContext B、ServletConfig C、RequestDispatcher D、HttpSession 20.使用 response 对象进行重定向时,使用的是( )方法。 A、getAttribute B、setContentType C、sendRedirect D、setAttribute 二、简答题(4题,每题10分,共40分) 1.include指令标签和include动作标签有什么区别? 2.请写出JSP中5个内置对象。 3.<jsp:setProperty> 动作标签有哪四种格式? 4.请写出Servlet API包中5个类或接口。 三、编程程题(共1题,总计20分) 1. 请编写猜数字功能程序。要求: (1)编写猜数字界面:guess.jsp ( 3分) 功能:1)在页面中设置一个10以内的随机数,并保存到session中。 2)编写输入猜数的表单(action提交给guessControl)。 (2)编写猜数的JavaBean:NumberBean.java (5分) 功能:1)一个属性num:int类型; 2)一个构造方法(无参数); 3)一个set属性方法与一个get属性方法; 4)一个比较方法:int compare(int digit) 如果输入的digit大于num则返回1; 如果输入的digit小于num则返回-1; 如果输入的digit等于num则返回0; (3)编写一个控制端Servlet:GuessControl.java(10分) 功能:1)获取输入的数字; 2)获取session的数字; 3)创建NumberBean对象; 4)调用nuberBean对象方法比较; 5)保存比较结果到会话中; 6)转到猜数字结果页面; (4)编写猜数字结果页面:guessResult.jsp (2分) 功能:1)取出会话中的比较结果信息; 2)打印出猜数字结果。 猜数字运行界面如下图所示: 图1 猜数字页面 图2 输入数字大的结果页面 图3 输入数字小的结果页面 图4 猜中的结果页面 阅卷人 得分 答 题 卡 一、选择题(共20题,总计40分,每小题2分) 题号 1 2 3 4 5 6 7 8 9 10 答案 A B A D A B D C B C 题号 11 12 13 14 15 16 17 18 19 20 答案 A D D B B C A D C C 阅卷人 得分 二、简答题(4题,每题10分,共40分) 1.include指令标签和include动作标签有什么区别? (1).形式不同: include 静态标签语法格式为: <%@ include file=“文件的名字” %> <jsp:include page=“文件的名字”> </jsp:include> (2).作用不同: 如果一个Jsp页面使用include指令插入另一个Jsp文件,被插入的这个Jsp页面中有一个设置页面ContentType属性的page指令。 include 动作标签告诉jsp页面包含一个文件。当Jsp引擎把Jsp页面转译成Java文件时候,告诉Java解释器,这个文件在Jsp运行时候才能包含进来。 2. 请写出JSP中5个内置对象。 request、response、session、application、out、page、pageContext、exception 3.<jsp:setProperty> 动作标签有哪四种格式? ① <jsp:setProperty name=”myBean” property=”*” /> 由窗体表单传来的参数值,通过自省机制,设定所有的属性值; ② <jsp:setProperty name=”myBean” property=”myProperty ” /> 也是通过自省机制,不过只设定一个myProperty的属性值; ③ <jsp:setProperty name=”myBean” property=”myProperty” param=”ParamName” /> 由窗体传来的参数名称为ParamName的值,传给属性名称为myProperty; ④ <jsp:setProperty name=”myBean” property=”myProperty” value=”MyValue” > 它弹性最大,它可以通过value,动态设定JavaBean的属性。 4.请写出Servlet API包中5个类或接口。 Servlet 、ServletContext、RequestDispatcher、ServletConfig、ServeletRequest、ServletResponse、HttpServlet、HttpSession、HttpServletRequest、HttpServletResponse 阅卷人 得分 三、编程题(共1题,总计20分) 1. 请编写猜数字功能程序。要求: (1)编写猜数字界面:guess.jsp ( 3分) <body> <%! int num=0; %> <% String numStr=(String)session.getAttribute("num"); if(numStr==null){ //第一次产生一个随机数 num=(int)(Math.random()*10); session.setAttribute("num",""+num); } %> <h3>请输入数字</h3> <form action="guessControl"> <input type="text" name="num" /> <input type="submit" value="提交"/> </form> </body> (2)编写猜数的JavaBean:NumberBean.java (5分) package com.my.test; public class NumberBean { private int num; public NumberBean(){ } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public int compare(int input){ int result=0; if(input>this.getNum()){ result=1; }else if(input<this.getNum()){ result=-1; }else{ result=0; } return result; } } (3)编写一个控制端Servlet:GuessControl.java(10分) public class GuessControl extends HttpServlet { private NumberBean numberBean; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); //获取数据 String numStr=request.getParameter("num"); if(numStr==null){ numStr="0"; } int num=Integer.parseInt(numStr); System.out.println("num="+num); //创建numberBean对象 numberBean=new NumberBean(); //获取Session中的num HttpSession session=request.getSession(); String snumStr=(String)session.getAttribute("num"); if(snumStr==null){ snumStr="0"; } int snum=Integer.parseInt(snumStr); //设置numberBean的属性num numberBean.setNum(snum); //输入的值与session中的值进行比较 int result=numberBpare(num); String resultStr=""; if(result>0){ session.setAttribute("result", "输入的数大了,请重新输入"); } if(result<0){ session.setAttribute("result", "输入的数小了,请重新输入"); } if(result==0){ session.setAttribute("result", "恭喜你猜中啦!"); } //转到结果页面 RequestDispatcher rd=request.getRequestDispatcher("guessResult.jsp"); rd.forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } } (4)编写猜数字结果页面:guessResult.jsp (2分) <h3>猜数结果是:</h3> <% String resultStr=(String)session.getAttribute("result"); if(resultStr==null){ resultStr="出错啦"; } out.println(resultStr); %> <br> <a href="guess.jsp">返回</a> 一、选择题(共20题,总计40分,每小题2分) 1.下列哪一个不是JSP静态指令( )。 A、page B、forward C、include D、taglib 2.一个JSP网页可以使用exception对象,但是必须使用isErrorPage设为( )。 A、null B、none C、false D、true 3.在当前页面中包含a.htm的正确语句是(   )。 A、<%@ include=“a.htm”%> B、<jsp:include file=”a.htm”/> C、<%@ include page=“a.htm”%> D、<%@ include file=“a.htm”%> 4.下列动作标签中哪一个是用于重定向一个HTML文件( )。 A、<jsp:useBean> B、<jsp:include> C、<jsp:forword> D、<jsp:plugin> 5.useBean标签中scope有四中不同取值,下列哪一个scope取值是JSP引擎为每一个客户分配一个共享的beans( )。 A、 request B、 application C、 session D、 page 6.page指令中的哪一个属性用来定义JSP页面的MIME类型和JSP字符的编码 (   )。 A、contnetType B、import C、 language D、session 7.使用request对象的getParameter()方法可以读取一个输入控件的哪个属性值( ) A、type B、value C、size  D、name 8.以下脚本元素中有语法错误的是(    )。 A、<%! int i=0;%> B、<% int i=0;%> C、<%=i;%> D、<%i++;%> 9.以下哪个方法不是Servlet的生命周期接口定义的?( ) A、init() B、service() C、destroy() D、create() 10.JDBC API中,可通过(   )对象执行SQL语句。 A、java.sql.ResultSet  B、java.sql.Connection C、java.sql.Statement   D、java.sql.DriverManager 11.MVC中C指的是( )。 A、视图层 B、控制层 C、模型层 D、持久化层 12.MVC架构中使用HTML界面、JSP界面实现用户界面,使用( )实现控制逻辑,使用JavaBean实现模型层。 A、JSP B、 Servlet C.、JavaScript D.、EJB 13、JSP页面组成包括:HTML标记符、脚本元素、( )、动作标签、注释。 A、声明元素 B、指令标签 C、表达式元素 D、Java程序片 14、给定程序片段: <%--在此处插入代码--%> <html> <body> Today is: <%= new Date() %> </body> </html> 为了能够让程序正确运行需要在第一行添加以下那条语句? A、<%@ page import=“java.util.Date” %> B、<%@ import class=“java.util.Date”%> C、<%@ include file=“java.util.Date”%> D、<%@ include class=“java.util.Date”%> 15、以下哪一个是HttpSession的方法、并能实现在session中存放数据(  ) A、get(String name,Object value) B、set(String name, Object value) C、setAttribute(String name,Object value) D、getAttribute(String name, Object value) 16、以下关于JavaBean的描述错误的是( ) A、JavaBean是一个公有java类 B、JavaBean提供给外界使用的方法是公有类型的 C、JavaBean必须有一个带参构造方法 D、在JSP中使用的JavaBean必须放在一个有名包中 17、下列注释当中为JSP注释的是( ) A、(!--注释内容--) B、 <%--注释内容--%> C、 /*注释内容*/ D、 /**注释内容*/ 18、session对象中invalidate方法的含义是( ) A、 使用session无效 B、 获得session对象的生存时间 C、 获得当前session对象最后一次被操作时间 D、 以上都不对 19、在JSP中调用JavaBean时不会用到的标记是(   ) A、<javabean> B、<jsp:useBean> C、<jsp:setProperty>  D、<jsp:getProperty> 20、用HttpServlet类的方法时,必须带两个参数,它们是( ) A、HttpServletRequest, HttpServletResponse B、ServletRequest, ServletResponse C、ServletIntputStream, ServletOutputStream D、Request, Response 二、填空题(共5空,总计10分,每空2分) 1.客户端向服务器端提交数据的方式通常有两种:一种是post方式;另一种是 ___________提交方式。 2.JSP和___________相结合,可以实现表现层和业务逻辑层的分离。 3.Tomcat服务器的默认端口是___________。 4.Servlet接口的______________________方法在服务器装入 Servlet时执行,在 Servlet 的生命周期中仅仅执行一次。 5.在数据库编程中,需求通过Statement的___________方法来执行insert语句。 三、简单题(2题,每题10分,共20分) 1. 请说出常用的JSP内置对象,并简述它们的功能。(列举4个以上) 2. 使用forward和sendRedirect进行重定向有什么区别? 四、编程题(共1题,总计30分) 1. 运用JSP Model 2设计用户登录的功能模块,如果用户名和密码都正确则在success.jsp中打印出用户登录成功、并打印出用户名和密码。如果登录失败则返回登录界面要求重新登录。 已知: (1) 用户信息表为:tb_user (2) 连接数据库的类DBCon.java已经提供,可以通过下列语句得到数据库连接: DBCon db=new DBCon(); Connection con=db.getConnection(); 序号 说明 文件名 1 用户登录页面 login.jsp 2 用户实体类 User.java 3 用户信息模型接口 UserDAO.java 4 用户信息模型类(实现接口3) UserDAOImpl.java 5 用户登录控制Servlet LoginServlet.java 6 成功页面 success.jsp (3)应用程序的目录及文件名的说明为: 要求: (1) 设计用户登录页面:login.jsp。(4分) (2) 设计用户实体类:User.java。(4分) (3) 设计用户信息模型接口:UserDAO和模型类:UserDAOImpl.java,该接口和类中包含一个用户登录的方法: public boolean userLogin(User user);。(8分) (4) 设计用户登录控制Servlet:LoginServlet.java,使用Servlet实现。(8分) 实现步骤: ①首先获取用户登录的信息,如用户名和密码; ②创建用户对象。 ③创建用户信息模型类(UserDAOImpl.java)对象,调用用户登录方法。 ④根据结果判断,如果用户名和密码匹配则到success.jsp,如果失败,则返回到用户登录页面。 (5)  设计成功页面:success.jsp,打印用户登录成功信息,并打印出用户名和密码信息 (6分) (1)设计用户登录页面:login.jsp <%@ page language="java" pageEncoding="gb2312"%> <html> <head> <title>用户登录页面</title> </head> <body> <h5 align="center">用户登录 </h5> < --表单递交 --> </body> </html> (2) 设计用户实体类:User.java。 public class User {//实体类 } (3) 设计用户信息模型类:UserDAOImpl.java,该接口和类中包含一个用户登录的方法: public boolean userLogin(User user) ; //导入相应的Java包 public class UserDAOImpl implements UserDAO { private Connection con; private PreparedStatement pstmt; private DBCon db; public UserDAOImpl() { db=new DBCon(); } //判断用户登录是否成功 public boolean userLogin(User user) { boolean result=false; try{ }catch(SQLException e){ e.printStackTrace(); } return result; } } } (4) 设计用户登录控制类:LoginServlet.java,使用Servlet实现。 //导入相应的Java包 public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); //1)首先获取用户登录的信息; //2)创建用户类对象。 // 3)创建用户模型类(UserDAOImpl.java)对象,调用用户登录的方法。 // 4)根据结果判断,如果正确就到success.jsp,如果失败就返回到login.jsp。 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } } (5)成功页面:success.jsp ,打印用户登录成功信息,并打印出用户名和密码信息。 success.jsp: <%@ page language="java" pageEncoding="gb2312"%> <html> <body> //显示用户登录成功信息 //显示用户的用户名和密码 </body> </html> 答 题 卡 阅卷人 得分 一、选择题(共20题,总计40分,每小题2分) 题号 1 2 3 4 5 6 7 8 9 10 答案 B D D C B A D C D C 题号 11 12 13 14 15 16 17 18 19 20 答案 B B B A C C B A A A 阅卷人 得分 二、填空题(共5空,总计10分,每空2分) 1. get 2. JavaBean 3. 8080 阅卷人 得分 4. init() 5. executeUpdate() 三、简单题(2题,每题10分,共20分) 1. 请说出常用的JSP内置对象,并简述它们的功能。 (列举4个以上) 答:(1)request表示HttpServletRequest对象。它包含了有关浏览器请求的信息;(2) response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等);(3)out对象提供了几个方法使你能用于向浏览器回送输出结果;(4)pageContext提供了用于方便存取各种范围的名字空间、servlet相关的对象的API;(5)session表示一个请求的javax.servlet.http.HttpSession对象,存贮用户的状态信息;(6)application 表示一个javax.servle.ServletContext对象,提供查找有关servlet引擎和servlet环境的信息的方法;(7) config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。(8)page表示从该页面产生的一个servlet实例 ;(9)exception异常对象 2. 使用forward和sendRedirect进行重定向有什么区别? 答:(1)sendRedirect() (1) ServletResqonse接口中的方法,用于响应重定向 (2) 跳转后浏览器地址栏变化 (3)  可以请求其他服务器资源 (4) 参数可以指定为相对路径(没有以”/”开始)、 绝对路径(以“/”开始)或其它Web应用 (5) 传值只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。 (2)forward() (1) RequestDispatcher接口中的方法,用于请求跳转 (2) 跳转后浏览器地址栏不会变化 (3) 只能在应用程序内部转发 (4) 参数 A. ServletRequest获取的,参数可以指定为相对路径(没有以”/”开始)、绝对路径(以“/”开始) B. ServletContext获取的,参数只能指定为绝对路径 (5) 传值可以使用三种方法:url中带parameter,session,request.setAttribut 阅卷人 得分 四、编程题(共1题,总计30分) (5) 设计用户登录页面:login.jsp。(4分) <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <html> <head> <title>用户登录页面</title> </head> <body> <form action="LoginServlet" method="post"> 用户登录<br> 姓名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html> (6) 设计用户实体类:User.java。(4分) Class User{ private int id; private String username; private String password; setter和getter } (7) 设计用户信息模型接口:UserDAO和模型类:UserDAOImpl.java,该接口和类中包含一个用户登录的方法: public boolean userLogin(User user);。(8分) //导入相应的Java包 public class UserDAOImpl implements UserDAO { private Connection con; private PreparedSt
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服