网络编程A卷.doc
拟卷人:戴伟 审核人:教务科填写: 年 月 日考 试 用广州大学继续教育学院课程考试试卷 试卷(闭卷、考试) 层次(本科)课程名称: 网络编程 课程编码:20311008 试卷编号: A 卷 考试时间:120分钟专业班级: 10网络工程 学号: 姓名: 题号一二三四五总分题分2030101030100得分一、 填空题(共20分,每空1分) 1、在网络程序设计架构中,当今两大主流架构为:( B/S结构 )和 ( C/S结构 )2、( 进程 )是程序的一次执行过程,包括代码加载、执行,到执行结束的一个完整的动态执行过程,( 线程 )是程序执行流的最下单位。3、JAVA创建多线程应用程序有两种方法,一种是用( Thread )类创建多线程应用程序,另一种是用( Runnable )接口创建多线程应用程序。4、数据输出流和数据输入流对象的构造,都是通过调用socket对象的方法来实现的,分别为:( getOutputStream() )和( getInputStream() )5、java中,流是以( 字节 )级进行数据通信的,而读取器Reader和写入器Writer是对( 字符 )操作的输入流和输出流。6、套接字通信的网络协议一般分为( TCP )协议和( UDP )协议。7、JSP的脚本元素主要包括( 声明 ) 和( 表达式 ) 和脚本。8、JSP的内置对象中,(session )对象是用来保存个人信息的个人所有对象,( application )对象是所有应用程序的共有的全局对象。9、request对象是通过( getParameter() )方法来得到请求的参数的,通过( getParameterNames() )方法来得到客户端传送给服务器端的所有参数名。10、编写servlet程序主要是重写其所继承类的两个方法( doGet() ) 和 ( doPost() )。二、选择题(共30分,每题1.5分)1、我们实现一个线程主要是重载( B ) 方法。 A . start() B. run() C构造函数 D其他方法。2、设定一个线程的优先级调用的是线程类的一个静态方法( B )。 A getPriority() B setPriority() C start() D currentThread()3、数据输入流DataInputStream的方法readInt()返回的结果为:( C ) A 1个字节int类型值 B 2个字节int类型值 C 4个字节int类型值 D 3个字节int类型值4、下面哪种协议是需要用到ServerSocket类( B ) A UDP协议 B TCP协议 C UDP协议和TCP协议 D 没有协议5、JSP网络编程,编写的JSP页面形成的文件的后缀名为:( B ) A asp B jsp C htm D xml6、在JSP中如果要导入 java.io.* 包,应该使用( A )指令。A. page B. taglib C. include D. forward7、sesson对象的( C )方法用于判断是否为开始新会话。A. begin() B. isNewSessionID() C. isNew() D. invalidate()8、创建JSP应用程序时,配置文件web.xml应该在程序下的( C )目录中。A. admin B. servlet C. WEB-INF D. WebRoot9、JSP中的隐式注释为( B )。A. / 注释内容 B. <!注释内容->C. <%-注释内容-%> D. /* 注释内容 */10、在JSP中调用JavaBean时不会用到的标记是:( A )A. <javabean>B. <jsp:useBean> C. <jsp:setProperty> D. <jsp:getProperty11、不是JSP运行必须的是( D )A 操作系统B JAVAJDKC 支持JSP的WEB服务器D 数据库12、可以在以下哪个( A )标记之间插入Java程序片A <% %> B <% /> C </ %> D <% !>13、JSP的Page编译指令的属性Language的默认值是:( A )A Java B C语言 C C# D SQL14、一个servlet的生命周期不包括( B )方法?a) init()方法b) invalidate()方法c) service()方法d) destroy()方法15、jsp指令不包括( C )a) page指令b) taglib指令c) import指令d) include指令16、jsp中java表达式的语法格式为:( A )a) <%= %>b) <%! %>c) <% %>d) <% %>17、( D )内置对象可以处理jsp页面运行中的错误或者异常a) pageContextb) pagec) sessiond) exception18、下面对jdbc api描述错误的是( D )a) DriverManager接口的getConnection()方法可以建立和数据库的连接b) Connection接口的createStatement()方法可以创建一个Statement对象c) Statement接口的executeQuery()方法可以发送select语句给数据库d) ResultSet接口表示执行insert语句后得到的结果集19、下面哪个不是JSP中和javabean相关的标记?( )a) <jsp:userBean>b) <jsp:include>c) <jsp:setProperty>d) <jsp:getProperty>20、所有的servlet过滤器类都必须实现( A )接口。a) javax.servlet.Filterb) javax.servlet.ServletConfigc) javax.servlet.ServletContextd) javax.servlet.Servlet三、判断题(共10分,每题1分) 1<hr> 是html中的换行标记。(错)2JSP代码会被翻译成JAVA代码。(对)3JSP里声明一个方法(函数)是用<% %>标签。(错)4如果两个不同的JSP页面有相同的SessionID,则这两个页面一定是同一个会话。(对)5JDBC是用来连接数据的。() 6Servlet是单线程的。(错) 7一个表单只能有一个提交按钮。(对)8executeUpdate()是 Statement接口的方法。(对)9JSP也可以使用C#等语言实现。(对)10Servlet可以运行在客户端。(对)四、简答题(1、2小题3分,第3小题4分,合计10分)1、jsp有哪些内置对象?2、jsp有哪些动作?3、3、JSP中动态INCLUDE与静态INCLUDE的区别?五、编程题(共30分,每题15分) 1、编写一个JSP文件,文件中实现一个含有5个复选框的表单,表单提交给本身的JSP文件来处理,要求显示输出被选中的复选框按钮,比如复选框按钮2被选中。2、编写一个Servlet来接收用户的登录请求,只要求实现其重载的doPOST()方法用户端通过POST请求方法发送登录用户名“user”和密码“pass”,假设在servlet部署文件上有初始参数username和password。四、简答题(1、2小题3分,第3小题4分,合计10分)1、application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。Config对象允许将初始化数据传递给一个JSP页面Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。Out对象代表提供输出流的访问Page对象代表JSP页面对应的Servlet类实例PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文 Response对象允许直接访问HttpServletResponse对象Session对象可能是状态管理上下文中使用最多的对话2、<jsp:param>操作被用来以“名值”队的形式为其他标签提供附加信息<jsp:include>操作允许在请求是在现成的JSP页面里包含静态或者动态资源<jsp:forward>操作允许将请求转发到另一个JSP、servlet或静态资源文件<jsp:useBean>标签用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围<jsp:setProperty>此操作和setBean一起协作,用来设置JavaBean的属性<jsp:getProperty>操作是对<jsp:setProperty>操作的补充,用来访问一个Bean的属性<jsp:plugin>用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean3、如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。如果是动态文件还可以用<jsp:param>传递参数五、程序题(共30分,每题15分)1、 Checkbox.jsp<% page contentType=”text/html; charset=GBK %><HTML><head><title>复选框标识示例</title></head><body><h3>复选框标识</h3><form name=”formdemo” action = checkbox.jsp”> <p><input name=”checkbox1” type =”checkbox” value=”1”>复选框1</p> <p><input name=”checkbox2” type =”checkbox” value=”2”>复选框2</p><p><input name=”checkbox3” type =”checkbox” value=”3”>复选框3</p><p><input name=”checkbox4” type =”checkbox” value=”4” disabled=”flase”>复选框4</p><p><input name=”checkbox5” type =”checkbox” value=”5”>复选框5</p><p><input name=”submit” type=”submit” value=”提交”> <input name=”reset” type=”reset” value=”重写”></p></form><p><% if(request.getParameter(“checkbox1”)!=null) out.println(“复选框1被选择.”);if(request.getParameter(“checkbox2”)!=null) out.println(“复选框1被选择.”);if(request.getParameter(“checkbox3”)!=null) out.println(“复选框1被选择.”);if(request.getParameter(“checkbox4”)!=null) out.println(“复选框1被选择.”);if(request.getParameter(“checkbox5”)!=null) out.println(“复选框1被选择.”);%></p></body></html>2.LoginServlet.javaimport java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class LoginServlet extends HttpServlet String username; String password; public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException username=getInitParameter(“username”); password=getInitParameter(“password”); String user=request.getParameter(“user”); String pass=request.getParameter(“pass”); Response.setContentType(“text/html;charset=ISO-8859-1”; PrintWriter out=response.getWriter(); if(username.equals(user)&&password.equals(pass) out.println(“用户”+username+”登录成功”); else out.println(“用户名或者密码错误”); Public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException doPost(request,response);