Jsp和Servlet试题带(答案) 联系客服

发布时间 : 星期五 文章Jsp和Servlet试题带(答案)更新完毕开始阅读18df3e5cbe23482fb4da4c0b

清华大学计算机与信息管理中心

Web应用开发(Java高级软件开发)工程师培训班

JSP和Servlet考试 试卷

姓名: 分数:

本次考试分为笔试及上机两部分,笔试为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页 共5页

清华大学计算机与信息管理中心

管理员查看库存页 新加商品按钮 设置库存预警按钮 序号 名称 规格 库存件数 单价 总价 操作 1 2 钢笔 鼠标 个 个 12 5 … 件数合计 10.0 20.0 120.0 100.0 … 总价合计 删除 修改 删除 修改 … … 合计 说明: ? 点“新加商品”按钮,跳到下页进行新加商品 ? 删除前需要用户确认

? 在每行的修改链接中,链接到本行记录的修改页面 新加库存商品页面(修改库存商品页面结构相同) 名称:____________ * 规格:____________ * 库存件数:_________ *【数字】 单价:____________ * 【数字】 新加按钮 说明:

? 商品增加(修改)成功后,页面回到管理员查看库存页,并刷新列表数据; ? 所有字段均为必填项,件数、单价为数字项,提交数据之前,应进行充分的检查; ? 保存记录的时候,程序检测如果该件商品已有记录(即:名称、规格、单价都相同的商

品),则在原有库存上累加,否则新加记录;

第2页 共5页

清华大学计算机与信息管理中心

Web应用开发(Java高级软件开发)工程师培训班 Java程序设计考试(答题卡) 姓名: 分数:

第一部分:笔试部分

一、简答题

1、 JSP有哪些内置对象?作用分别是什么?

? jsp9个常用的内置对象如下

? request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户

的需求,然后做出响应。它是HttpServletRequest类的实例。

? response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直

接用到它。它是HttpServletResponse类的实例。

? session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器

的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。

? out对象:out对象是JspWriter类的实例,是向客户端输出内容常用的对象 ? page对象:page对象就是指向当前JSP页面本身,有点象类中的this指针,它是

java.lang.Object类的实例 。

? application对象:application对象实现了用户间数据的共享,可存放全局变量。

它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。 ? exception对象:exception对象是一个例外对象,当一个页面在运行过程中发生了

例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象。

? pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的

第3页 共5页

清华大学计算机与信息管理中心

访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。

? config对象:config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,

此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一ServletContext对象) 。

2、 Servlet在什么情况下调用doGet()?什么情况下调用doPost()?

答:doGet() 处理GET请求,显式提交客户端的信息,信息有长度限制,地址行显示要传送的信息,超链接时起作用

doPost() 允许客户端提交没有长度限制的数据信息,在地址行不显示任何信息,

form提交时起作用,把数据用表单传过去的,就好象把数据都打成包发过去。

3、 简述PreparedStatement和Statement的区别与联系?

答:PreparedStatement是预编译的支持批处理,对于批量处理可以大大提高效率,但是PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。使用?把参数注入,可有效消除sql注入等代码安全隐患。

使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。statement每次执行sql语句,相关数据库都要执行sql语句的编译。

4、 在Jcbc编程时为什么要养成经常释放连接的习惯?

答:为了确保 JDBC 资源不在出现异常或错误等情况下被不正常关闭,我们应该在使用完 JDBC 资源之后关闭且释放它们。JDBC 连接定义和数目有限的连接,如果数量不够,就需要长时间的等待。不正常关闭 JDBC 连接会导致等待回收无效的 JDBC 连接。只有正常的关闭和释放 JDBC 连接,JDBC 资源才可以被快速的重用使性能得到改善。

5、 Connection、PreparedStatement、Statement、CallableStatement、ResultSet是JDBC

第4页 共5页

清华大学计算机与信息管理中心

编程常用的接口,请分别简述它们的作用? 答:

? Connection:是用来表示数据库连接的对象,对数据库的一切操作都是在这个连接

的基础上进行。

? Statement:用于在已经建立的连接的基础上向数据库发送SQL语句的对象。它只

是一个接口的定义,其中包括了执行SQL语句和获取返回结果的方法。实际上有3种 Statement 对象:Statement、PreparedStatement(继承自Statement )和 CallableStatement(继承自PreparedStatement)。它们都作为在给定连接上执行 SQL 语句的容器,每个都专用于发送特定类型的 SQL 语句: Statement 对象用于执行不带参数的简单 SQL 语句;

? PreparedStatement 对象用于执行带或不带 IN 参数的预编译 SQL 语句,

PreparedStatement接口继承了Statement接口,但PreparedStatement语句中包含了经过预编译的SQL语句,因此可以获得更高的执行效率。在PreparedStatement语句中可以包含多个用\?\代表的字段,在程序中可以利用setXXX方法设置该字段的内容,从而增强了程序设计的动态性。

? CallableStatement:允许从Java应用程序中调用数据库存储过程。

CallableStatement对象包含了对存储过程的调用;但不包含存储过程本身,这是由于存储过程是存储在数据库中的。使用方法:CallableStatement cStmt = conn.prepareCall(\存储过程名(参数表列)}\

? 结果集(ResultSet)用来暂时存放数据库查询操作获得的结果。它包含了符合 SQL

语句中条件的所有行,并且它提供了一套 get 方法对这些行中的数据进行访问

第5页 共5页