Jsp和Servlet试题带(答案)
    清华大学计算机与信息管理中心
    Web应用程序开发(Java高级软件开发)工程师培训课程
    jsp和servlet考试试卷
jsp中文全称    姓名:分数:
    本次考试分为笔试及上机两部分,笔试为40分、上机为60分,满分100分。考试时间为2.5小时。第一部分:笔试部分。
    二、 简短回答问题(共5个问题,每个问题8分,共40分)1。JSP的内置对象是什么?功能是什么?
    2、servlet在什么情况下调用doget()?什么情况下调用dopost()?3、简述preparedstatement和statement的区别与联系?4、在jcbc编程时为什么要养成经常释放连接的习惯?
    5.Connection、Preparedstatement、statement、callablestatement和resultset是JDBC
    编程常用的接口,请分别简述它们的作用?
    第二部分:计算机操作。(总共60分)
    1、使用jsp+servlet+数据库的方式完成一个简易的库存商品管理系统,请自己设计数据库(1)、需求描述:
    ① , 管理员登录
    ②、列出所有库存商品的名称、规格、库存件数、单价③、可以对库存记录做增加、修改和删除。
    (2) 页面功能设计参考第1页:管理员登录用户名:_____________________;密码:_____
    第1页共5页
    清华大学计算机与信息管理中心
    管理员查看库存页新加商品按钮设置库存预警按钮序号名称规格库存件数单价总价操作12钢笔鼠标个个125…件数合计10.020.0120.0100.0…总价合计删除修改删除修改……合计说明:?点“新加商品”按钮,跳到下页进行新加商品?删除前需要用户确认
c语言二维数组的长度怎么算    ? 在每一行的修改链接中,链接到该行记录的修改页面,并添加新的库存商品页面(修改后的库存商品页面结构相同)名称:__________________________________________
    ?商品增加(修改)成功后,页面回到管理员查看库存页,并刷新列表数据;?所有字段均为必填项,件数、单价为数字项,提交数据之前,应进行充分的检查;?保存记录的时候,程序检测如果该件商品已有记录(即:名称、规格、单价都相同的商
    产品),将在原存货上累计,否则将增加新记录;
    第2页共5页
    清华大学计算机与信息管理中心
    web应用开发(java高级软件开发)工程师培训班java程序设计考试(答题卡)姓名:分数:
    第一部分:笔试
    一、简答题
    1.JSP的内置对象是什么?功能是什么?
    ?jsp9个常用的内置对象如下
    ? 请求对象:客户端的请求信息被封装在请求对象中,通过请求对象可以知道客户端
    ?response对象:response对象包含了响应客户请求的有关信息,但在jsp中很少直
    ? 会话对象:会话对象指客户端和服务器之间的会话,将客户端连接到服务器
    ?out对象:out对象是jspwriter类的实例,是向客户端输出内容常用的对象?page对象:page对象就是指向当前jsp页面本身,有点象类中的this指针,它是
partlist是什么意思
    JAVAlang.Object类的一个实例。
    ?application对象:application对象实现了用户间数据的共享,可存放全局变量。
    它从服务器启动开始,直到服务器关闭。在这段时间里,这个物体将永远存在;这样,可以在用户的前后连接或不同用户之间的连接中操作该对象的相同属性;此对象属性在任何位置的操作都会影响其他用户的访问。服务器的启动和关闭决定了应用程序对象的生命周期。它是ServletContext类的一个实例。?异常对象:在操作期间出现页面时,异常对象是异常对象
    例外,就产生这个对象。如果一个jsp页面要应用此对象,就必须把iserrorpage设为true,否则无法编译。他实际上是java.lang.throwable的对象。
    ? Pagecontext对象:Pagecontext对象提供对JSP页面中所有对象和名称空间的访问
    第3页共5页
sql中on是什么意思    清华大学计算机与信息管理中心
    访问,也就是说他可以访问到本页所在的session,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pagecontext。
    ? 配置对象:JSP引擎使用配置对象在servlet初始化时将信息传递给servlet,
    此信息包括servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一servletcontext对象)。
    2.servlet何时调用doget()?何时调用dopost()?
    答:doget()处理get请求,显式提交客户端的信息,信息有长度限制,地址行显示要传送的信息,超链接时起作用
    Dopost()允许客户端提交不受长度限制的数据信息,地址行中不显示任何信息,
    form提交时起作用,把数据用表单传过去的,就好象把数据都打成包发过去。
    3.简要描述编制报表和报表的区别和关系?
    答:preparedstatement是预编译的支持批处理,对于批量处理可以大大提高效率,但是preparedstatement对象的开销比statement大,对于一次性操作并不会带来额外的好处。使用?把参数注入,可有效消除sql注入等代码安全隐患。
    使用语句对象。当只对数据库执行一次性访问时,将使用语句对象进行处理。语句每次执行SQL语句时,相关数据库都必须编译SQL语句。
文字颜转换器    4、在jcbc编程时为什么要养成经常释放连接的习惯?
    答:为了确保JDBC资源在出现异常或错误时不会异常关闭,我们应该在使用JDBC资源后关闭并释放它们。JDBC连接定义和有限数量的连接。如果数量不够,则需要很长时间等待。不正确地关闭JDBC连接将导致等待回收无效的JDBC连接。只有正常关闭和释放JDBC连接,才能快速重用JDBC资源,提高性能。
    5、connection、preparedstatement、statement、callablestatement、resultset是jdbc
    第4页,共5页
    清华大学计算机与信息管理中心curlyhair是什么意思
    常用编程接口,请简要描述其功能?答复:
    ?connection:是用来表示数据库连接的对象,对数据库的一切操作都是在这个连接
    基于。
    ?statement:用于在已经建立的连接的基础上向数据库发送sql语句的对象。它只
    接口的定义,包括执行SQL语句和获取返回结果的方法。实际上有三种语句对象:statement、Preparedstatement(继承自statement)和callablestatement(继承自Preparedstatement)。它们被用作在给定连接上执行SQL语句的容器,每个容器都专用于发送特定类型的SQL语句:语句对象用于执行没有参数的简单SQL语句;
    ?preparedstatement对象用于执行带或不带in参数的预编译sql语句,
    Preparedstatement接口继承语句接口,但Preparedstatement语句包含预编译的SQL语句,因此可以获得更高的执行效率。Preparedstatement语句可以包含多个带\\的语句,字段内容可以在程序中通过setXXX方法设置,以增强程序设计的动态性。
    ?callablestatement:允许从java应用程序中调用数据库存储过程。
    Callablestatement对象包含对存储过程的调用;但不包括存储过程本身,因为存储过程存储在数据库中。用法:callablestatementcstmt=conn.preparecall(\存储过程名称(参数表列)}\
    ?结果集(resultset)用来暂时存放数据库查询操作获得的结果。它包含了符合sql
    语句,它提供了一组get方法来访问这些行中的数据
    第5页共5页