2023年Web编程技术补考模拟试卷B卷_第1页
2023年Web编程技术补考模拟试卷B卷_第2页
2023年Web编程技术补考模拟试卷B卷_第3页
2023年Web编程技术补考模拟试卷B卷_第4页
2023年Web编程技术补考模拟试卷B卷_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Web编程技术模拟试卷(B卷)填空题20分(20*1)请写出常用的Web服务器:IIS、Apache、Tomcat.请写出常用的常用的Web编辑工具:Dreamweaver、Editplue、EclipseJDBC、JSP、DAO英文全称分别是:JDBC:JavaDataBaseConnectivingJSP:JavaServerPageDAO:DataAccessObjectJSP的内置对象有out、request、response、session、application连接数据库的四要素:数据库驱动、数据库的URL、数据库的用户名、数据库的密码选择题15分(15*1)下面那个控件的属性设立成相同可以达成各个控件共同一组的效果(B)AidBnameCtypeDvalue下面哪一个JSP的注释,客户端是可见的(A)A<!--comment-->B//C<%--comment-->D/**/<jsp:param/>不与下列哪些操作指令配合使用(D)A<jsp:include>B<jsp:forward>C<jsp:plugin>D<jsp:setProperty/>下列哪一个不是JDBC的接口(D)ADriverManagerBConnectionCStatementDPreparement5.jsp执行过程:Jsp-》java-》class-》网页f分别是以下哪个顺序过程?(A)A.翻译-》编译-》执行B.翻译-》执行-》编译C.编译-》翻译-》执行D.执行-》编译-》翻译如下选项有哪一个是jsp表达式?A<%=9i%>B.<%inti%>C.x=3y+1D.<%x=3y+1%>Javascript连接js文献方法<scriptlanguae=“javascript”src=“__A___”></script>Aa.jsB.b.javaCcss.csDweb.xml下面哪一个不是单标签?(D)<br>B.<hr>C.<img>D.<body>当点击提交后跳转客户端通过(A)访问服务器AIEB我的电脑C网上邻居D回收站关闭sql数据库的顺序是(A)A先关闭结果集再关闭操作最后关闭连接B先关闭连接再关闭操作最后关闭结果集C先关闭操作再关闭结果集最后关闭连接D先关闭结果集再关闭连接最后关闭操作下列说法对的的是(A)jsp不一定是jsp开发的Jsp一定是jsp开发的Jsp编译后生成java后缀Jsp运营后生成java后缀第三方jar文献保存在哪一个目录下?()AWEBROOTBWEBROOT/WEB-INFCWEBROOT/WEB-INF/libDWEBROOT/WEB-INF/classes<inputtype=”password”>123456</input>在页面中显示的效果是(B)A123456B******C.password:123456D123456******14.可以运用request对象的哪个方法获取客户端的表单信息?AA)response.getParameter()B)response.outParameter()C)response.writeParameter()D)response.handlerParameter()15.<select>用于在表单中插入一个下拉菜单,它需与哪个标记配合使用?DA)<list>B)<item>C)<dot>D)<option>三、单句代码解释题20分(10*2)1.<ahref=“”target=“_blank”><imgsrc=”jiageng.jpg”/></a>点击嘉庚图片超连接到集美大学网页index.jsp:<formname='myform'method="POST"action="a1.htm"onsubmit="returncheck()">表单以post的方式提交到a1.html提交的时候并调用javascript的check函数检查setTimeOut(“a()”,5000)alert(“xxxx”)定期onload网页加载延时5000毫秒调用a函数执行a方法并弹出警告框提醒vartime=newDate();获取当前日期<bodyonload='.focus()'>页面加载时使光标停留在myform表单的name控件位置聚焦response.setHeader("refresh","2");out.println(newDate());//每隔2秒自动刷新显示时间<inputtype=”hidden”>//隐藏域看不见页面上自身用户不能在其中输入用来预设某些要传送的信息。<%request.setCharacterEncoding("gb2312");%>//设立编码防止乱码request.getParameter();//传递参数返回值类型为Stringrequest.getParameterValues();//获得参数所包含的值一组多个值10.session.setAttribute();//设立属性防盗链保存用户名session.getAttribute();//取得属性session.isNew();//判断是否是一个新的用户session.invalidate();//使session失效注销退出application.getAttribute();//返回对象获取application.setAttribute();//添加对象设立四、简答题10分(5*2)1.简朴介绍下JSP的开发环境如何搭建以及JSP程序如何运营?1.安装JDK添加环境变量2.安装Tomcat在IE中输入:8080或http://本机ip:8080或http://localhost:8080)。检查是否启动成功出现猫,若此时浏览器中显示Tomcat的欢迎和管理画面,即表达服务器安装和启动成功。3.安装SQLServer20234.安装MyEclipse7.5关于Tomcat服务器虚拟目录的配置打开Tomcat的安装目录,进入conf/server.xml,在</host>上方加入<Contextpath="/虚拟目录名"docBase="虚拟目录途径"/>2.<jsp:include/>与<%@include%>有什么区别?(B卷)<%@include%>包含静态的内容先包含后解决<jsp:include/>动态包含先解决后包含<jsp:forward/>与response.sendRedirect()有什么区别?(B卷)<jsp:forward/>URL不变,服务端跳转无条件跳转之后代码不再执行释放资源传递参数response.sendRedirect()URL地址改变,客户端跳转有条件跳转不能保存request的属性URL重写传递参数4.Page、request、session与application的区别是什么?生成期、作用范围又有何不同?①在一个页面范围内:page②在一次服务器请求范围内:request③在一次会话范围内:session④在一个应用服务器范围内:applicationDAO数据访问接口的用途是什么?前台显示与后台逻辑操作分离,JSP页面的功能就是将DAO返回的结果进行输出。6.Servlet的开发环节servlet的核心代码写在哪?在哪里注册?一般情况下,重要用到doGet和doPost方法。web.xml注册7.在这学期开发过程碰到什么问题,你又是如何解决的?A卷考过程序解释题10分(5*2)分析程序运营结果原网页a1.jsp:程序一:system.out.println(“aaa”);<jsp:forwardpage=”a2.jsp”/>System.out.println(“bbb”);运营结果:aaaURL地址:a1.jsp属于服务端跳转程序二:system.out.println(“aaa”);response.sendRedirect(“a2.jsp”);System.out.println(“bbb”);运营结果:aaabbbURL地址:a2.jsp属于客户端跳转IncludeDemo.jsp:<% intj=100;%><h1>includeDemo.jsp中的:<%=j%></h1><%@includefile="include.jsp"%>Include.jsp:<% inti=10;%><h1>include.jsp:<%=i%></h1>运营结果:includeDemo.jsp中的:100include.jsp:103.scope四种范围:page,只在当前页有效,合用于操作数据库调用两次结果显示request,属性只保存在一次服务器跳转中,使用<jsp:forward>才可调用1次刷新递增session,属性保存在一次会话中,合用于开发购物车等无论怎么刷新也不会重新声明数字递增application,属性公有,此对象在整个服务器只实例化一次只创建一次六、程序改写题5分(5*1)1.B卷中代码改写效率提高题目给代码表单提交改写成JavaBean源代码:<%@pagecontentType="text/html"pageEncoding="GBK"%><html><head><title>.</title></head><body><%request.setCharacterEncoding("GBK");%><jsp:useBeanid="simple"scope="page"class="jmu.SimpleBean"/><%simple.setName(request.getParameter("name"));simple.setAge(Integer.parseInt(request.getParameter("age")));%><h3>姓名:<%=simple.getName()%></h3><h3>年龄:<%=simple.getAge()%></h3></body></html>改写<%@pagecontentType="text/html"pageEncoding="GBK"%><html><head><title>.</title></head><body><%request.setCharacterEncoding("GBK");%><jsp:useBeanid="simple"scope="page"class="jmu.SimpleBean"/><jsp:setPropertyname="simple"property="*"/><jsp:setPropertyname="simple"property="name"param="age"/><jsp:setPropertyname="simple"property="age"param="name"/><h3>姓名:<%=simple.getName()%></h3><h3>年龄:<%=simple.getAge()%></h3></body></html>七、设计题10分(10*1)1.编写一个可以打印出九九乘法表的JSP网页,规定对齐和一定的修饰(B卷规定用表达式)<tableborder=2><%for(inti=1;i<=9;i++){%><tr><%for(intj=1;j<=i;j++){%><td><%=j%>*<%=i%>=<%=i*j%>  </td><%}%></tr><%}%></table>A卷考过的四部曲<%Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();//加载驱动程序Stringurl="jdbc:sqlserver://:1433;DatabaseName=testdb";//定义数据库的地址,tempdb为所要访问的数据库名称,:1433是ip地址和端口Stringuser="sa";//数据库的用户名Stringpassword="123456";//数据库的密码Connectionconn=DriverManager.getConnection(url,user,password);//连接数据库Statementstmt=conn.createStatement();//创建Statmen语句总管Stringsql="select*fromdbo.person";//构造所要执行的SQL语句,dbo.person是tempdb数据库中的一个表ResultSetrs=stmt.executeQuery(sql);//执行sql语句并返回结果给所定义的结果集%>第一个字段   第二个字段<br><%//下面通过循环把字段的内容显示出来while(rs.next()){%><%=rs.getString(1)%>     <%=rs.getString(2)%><%="<br>"%><%}%><%="<br>数据库操作成功!"%><%rs.close();//关闭结果集stmt.close();//关闭Statmentconn.close();//关闭连接%>新闻一级标题发布系统实现对数据库的增删改查前台调用jspDB6配合jsp构造容器创建容器扔进容器取出showFirstTitle.jsp<tableborder="2"><tr><th>ID号</th><th>新闻分类</th><th>创建者</th><th>创建时间</th></tr><%NewsFirstTitleDB6first=newNewsFirstTitleDB6(); Listlist=first.getAllFirstLevelTitleList(); if(list.size()!=0){ for(inti=0;i<list.size();i++){ FirstLevelTitlefTitle=(FirstLevelTitle)list.get(i);%><tr><td><%=fTitle.getId()%></td><td><%=fTitle.getTitleName()%></td><td><%=fTitle.getCreator()%></td><td><%=fTitle.getCreateTime()%></td></tr><%}}%></table>NewsFirstTitleDB6.javapackagejmu;importjava.sql.*;importjava.util.*;importjmu.FirstLevelTitle;publicclassNewsFirstTitleDB6{/**从数据库中取出所有新闻一级标题,并封装在集合中返回*/ publicListgetAllFirstLevelTitleList(){ List<FirstLevelTitle>list=newArrayList<FirstLevelTitle>(); ConnectiondbConnection=null; PreparedStatementpStatement=null; ResultSetres=null; try{ dbConnection=ConnectionManager.getConnection(); StringstrSql="select*fromFirstLevelTitleorderbyCreateTimedesc"; pStatement=dbConnection.prepareStatement(strSql); res=pStatement.executeQuery(); while(res.next()){ intid=res.getInt("id"); Stringtitle=res.getString(2); Stringcreator=res.getString("Creator"); //Datetime=res.getDate("CreatTime"); java.util.Datetime=res.getDate(4); FirstLevelTitlefTitle=newFirstLevelTitle(id,title,creator,time); list.add(fTitle); } }catch(SQLExceptionsqlE){ sqlE.printStackTrace(); }finally{ ConnectionManager.closeResultSet(res); ConnectionManager.closeStatement(pStatement); ConnectionManager.closeConnection(dbConnection); } returnlist; }}addFirstTitle.jsp<formname="form1"method="post"action="saveFirstLevelTitle.jsp"><tablewidth="100%"border="0"cellspacing="1"cellpadding="0"> <tr> <tdwidth="45%"align="right">标题名:</td> <td><inputtype="text"name="titlename"size="20"></td> </tr> <tr> <tdcolspan=2align=center> <inputtype="submit"name="Submit" value="拟定"onClick="returncheckOneTitle()"> <inputtype="reset"name="Reset"value="重置"> </td> </tr></table><palign="center">注意:发布前请认真检查输入的标题是否对的</p></form>保存页面saveFirstTitle.jsp<% //指定请求的编码为GBK request.setCharacterEncoding("GBK"); //获取用户输入 StringtitleName=request.getParameter("titlename"); FirstLevelTitlefTitle=newFirstLevelTitle(); fTitle.setTitleName(titleName); fTitle.setCreator("管理员"); //向数据库中插入一行记录 FirstLevelTitleDbOpreationdbOpreation=newFirstLevelTitleDbOpreation(); intresult=dbOpreation.insertOneRecord(fTitle); //假如插入成功,跳转至成功页面;否则跳转至失败页面 if(result>0){ request.getRequestDispatcher("success.jsp").forward(request,response); }else{ request.getRequestDispatcher("error.jsp").forward(request,response); }%>FirstLevelTitleDbOpreation.javapublicintinsertOneRecord(FirstLevelTitlefTitle){ intresult=0; Connectioncon=null; PreparedStatementpStatement=null; try{ SimpleDateFormatHMFromat=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss"); StringstrCurrentTime=HMFromat.format(newDate()); con=ConnectionManager.getConnection(); StringstrSql="insertintoFirstLevelTitlevalues(?,?,?,?)"; pStatement=con.prepareStatement(strSql); pStatement.setInt(1,getNewId()); pStatement.setString(2,fTitle.getTitleName()); pStatement.setString(3,fTitle.getCreator()); pStatement.setString(4,strCurrentTime); result=pStatement.executeUpdate(); }catch(SQLExceptionsqlE){ sqlE.printStackTrace(); }finally{ ConnectionManager.closeStatement(pStatement); ConnectionManager.closeConnection(con); } returnresult; }删除一级标题:delFirstTitle.jsp<%FirstLevelTitleDbOpreationfo=newFirstLevelTitleDbOpreation();StringfirstLevelId=request.getParameter("id");fo.deleteFirstLevelTitle(Integer.parseInt(firstLevelId));request.getRequestDispatcher("showFirstTitle.jsp").forward(request,response);%> publicvoiddeleteFirstLevelTitle(intfirstTitleId){ ConnectiondbConnection=null; PreparedStatementpStatementS=null; PreparedStatementpStatementF=null; //ResultSetres=null; try{ dbConnection=ConnectionManager.getConnection(); StringdelSecondSql="deletefromSecondLevelTitlewhereParentTitle=?"; pStatementS=dbConnection.prepareStatement(delSecondSql); pStatementS.setInt(1,firstTitleId); pStatementS.executeUpdate(); StringdelFirstSql="deletefromFirstLevelTitlewhereid=?"; pStatementF=dbConnection.prepareStatement(delFirstSql); pStatementF.setInt(1,firstTitleId); pStatementF.executeUpdate(); }catch(Exceptione){ e.printStackTrace(); } }更新一级标题:<onclick=”window.open(‘updateFirstTitle.jsp?id=<%=id%>’)”><%request.setCharacterEncoding("GBK");FirstLevelTitleDbOpreationfo=newFirstLevelTitleDbOpreation();StringfirstLevelId=(String)request.getParameter("id");StringtitleName=request.getParameter("titlename");StringCreator=request.getParameter("creator");fo.updateFirstTitle(Integer.parseInt(firstLevelId),titleName,Creator);request.getRequestDispatcher("showFirstTitle.jsp").forward(request,response);%>publicvoidupdateFirstTitle(intfirstLevelId,Stringtitlename,Stringcreator){ Connectioncon=null; PreparedStatementpStatement=null; try{ con=ConnectionManager.getConnection(); StringstrSql="updateFirstLevelTitlesetTitleName=?,Creator=?whereId=?"; pStatement=con.prepareStatement(strSql); pStatement.setString(1,titlename); pStatement.setString(2,creator); pStatement.setInt(3,firstLevelId); introw=pStatement.executeUpdate(); System.out.println("成功更新了"+row+"行数据!"); }catch(SQLExceptionsqlE){ sqlE.printStackTrace(); }finally{ ConnectionManager.closeStatement(pStatement); ConnectionManager.closeConnection(con); } }DAO技术的开发环节DAO由以下几部分组成:①DatabaseConnection:专门负责数据库的打开与关闭操作的类。②VO:重要由属性、setter、getter方法组成,VO类中的属性与表中的字段相相应,每一个VO类的对象都表达表中的每一条记录。③DAO:重要定义操作的接口,定义一系列数据库的原子操作,如增长、修改、删除、按ID查询等。④Impl:DAO接口的真实实现类,完毕具体的数据库操作,但是不负责数据库的打开和关闭。Vo类:packagecn.jmu.vo;publicclassProduct{ //商品ID protectedintproductID; //商品编号 protectedStringserialNumber; //商品名字 protectedStringname; //商品品牌 protectedStringbrand; //商品型号 protectedStringmodel; //商品价格 protecteddoubleprice; //商品的图片途径 protectedStringpicture; //商品描述 protectedStringdescription; //商品无参构造 publicProduct(){ super(); } //商品有参构造 publicProduct(StringserialNumber,Stringname,Stringbrand, Stringmodel,doubleprice,Stringpicture,Stringdescription){ super(); this.serialNumber=serialNumber; =name; this.brand=brand; this.model=model; this.price=price; this.picture=picture; this.description=description; } publicintgetProductID(){ returnproductID; } publicvoidsetProductID(intproductID){ ductID=productID; } publicStringgetSerialNumber(){ returnserialNumber; } publicvoidsetSerialNumber(StringserialNumber){ this.serialNumber=serialNumber; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicStringgetBrand(){ returnbrand; } publicvoidsetBrand(Stringbrand){ this.brand=brand; } publicStringgetModel(){ returnmodel; } publicvoidsetModel(Stringmodel){ this.model=model; } publicdoublegetPrice(){ returnprice; } publicvoidsetPrice(doubleprice){ this.price=price; } publicStringgetPicture(){ returnpicture; } publicvoidsetPicture(Stringpicture){ this.picture=picture; } publicStringgetDescription(){ returndescription; } publicvoidsetDescription(Stringdescription){ this.description=description; } }Impl:定义接口packagecn.jmu.dao;importjava.util.*;importcn.jmu.vo.Product;publicinterfaceIProductDAO{ publicArrayListgetAllNextGoods(intpage,intpageCount)throwsException; publicArrayListgetAllGoods()throwsException; publicintgetPages(intpageCount)throwsException; publicProductgetOneGood(intpid)throwsException; publicbooleanaddNew(Productproduct)throwsException; publicbooleanupdateOneGood(Productproduct)throwsException; publicbooleandelGood(intpid)throwsException; publicbooleangoodsDel(int[]pids)throwsException; }Dao.impl:具体实现类packagecn.jmu.dao.impl;importjava.util.ArrayList;importcn.jmu.dao.IProductDAO;importcn.jmu.vo.Product;importjava.sql.*;importjava.util.*;importcn.jmu.dbc.*;publicclassProductDAOImplimplementsIProductDAO{ /* *添加新商品 *参数:新商品信息的类对象 */ publicbooleanaddNew(Productproduct)throwsException{ booleanresult=false; Connectioncon=null; PreparedStatementpstmt=null; try{ con=ConnectionManager.getCon(); pstmt=con.prepareStatement("insertintoPRODUCTvalues(?

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论