您的位置:首页 > Web前端 > JavaScript

jsp考试题及答案

2007-07-04 14:14 141 查看
最近回家,没能上网,今天把答案贴出来,希望对大家有帮助。

一、填空(30分) 21

1、 Tomcat服务器的默认端口是 8080 。怎样修改tomcat的端口__在Tomcat下打开conf文件夹找到server.xml文件用记事本打开在<Connector port=”8080”>中把8080更改即可_____,

2、 异常的处理,可在该方法的代码段中包含3类代码: try catch 和finally代码块。

3、 jsp主要内置对象有: application 、exception pageContext request session 、_____response_____out、config、page。

4、 理论上,GET是 用于获取服务器信息并将其作为响应返回给客户端 ,POST是 用于客户端把数据传送到服务器

5、 application对象是 代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息 ,而session对象则是每个客户专用的。

6、 JDBC的主要任务是: 与数据库建立连接 发送SQL语句 处理结果

7、 一个Bean由三部分组成: 实现java.io.serializable接口 提供无参数的构造方法 提供getter()和setter()方法访问它的属性

8、 Java Servlet的主要特点是: 、方便、 、节省投资。运行servlet需要在___web.xml_____注册.

9、 Servlet的生命周期分三个时期: 装载Servlet 创建一个Servlet实例 销毁

10、 JSP开发网站的两种模式分为_____jsp+javabean___________和 jsp+javabean+servlet

二、选择题(20分) 14

1、下面哪一个不是JSP本身已加载的基本类?(b )

A、java.lang.* B、java.io.* C、javax.servlet.* D、javax.servlet.jsp.*

2、对于预定义<%!预定义%>的说法错误的是:(c)

A、一次可声明多个变量和方法,只要以“;”结尾就行 B、一个声明仅在一个页面中有效

C、声明的变量将作为局部变量 D、在预定义中声明的变量将在JSP页面初始化时初始化

3、从 “员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:( D )

A、 Select * from员工 where 姓名 =’_玛丽_’ B 、Select * from员工 where 姓名 =’%玛丽_’

C、 Select * from员工 where 姓名 like ‘_玛丽%’ D、 Select * from员工 where 姓名 like ‘%玛丽%’

4、下述选项中不属于JDBC基本功能的是:( D )

A. 与数据库建立连接 B. 提交SQL语句 C. 处理查询结果 D. 数据库维护管理

5、在JSP中使用<jsp:getProperty>标记时,不会出现的属性是:( c )

A. name B. property C. value D. 以上皆不会出现

6、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D )

A. <%@ page %>作用于整个JSP页面。

B. 可以在一个页面中使用多个<%@ page %>指令。

C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。

D. <%@ page %>指令中的属性只能出现一次。

7、在JSP中调用JavaBean时不会用到的标记是:( A )

A. <javabean> B. <jsp:useBean> C. <jsp:setProperty> D. <jsp:getProperty>

8、关于JavaBean正确的说法是:( A)

A、Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写

B、在JSP文件中引用Bean,其实就是用<jsp:useBean>语句

C、被引用的Bean文件的文件名后缀为.java

D、Bean文件放在任何目录下都可以被引用

9、Servlet程序的入口点是:(A )

A、init() B、main() C、service() D、doGet()

10、 不能在不同用户之间共享数据的方法是(A )

A、通过cookie B、利用文件系统 C、利用数据库 D、通过ServletContext对象

三、问答题(40分) 30

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

application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。

Config对象允许将初始化数据传递给一个JSP页面

Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。

Out对象代表提供输出流的访问

Page对象代表JSP页面对应的Servlet类实例

PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性

Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文

Response对象允许直接访问HttpServletResponse对象

Session对象可能是状态管理上下文中使用最多的对话

2.jsp有哪些动作?作用分别是什么?

<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和JavaBean
<jsp:fallback>

3.JSP中动态INCLUDE与静态INCLUDE的区别?

如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。如果是动态文件还可以用<jsp:param>传递参数

4.两种跳转方式分别是什么?有什么区别? <jsp:include page="included.jsp" flush="true">
<jsp:forward page= "nextpage.jsp"/>

<jsp:include>操作允许在请求是在现成的JSP页面里包含静态或者动态资源

<jsp:forward>操作允许将请求转发到另一个JSP、servlet或静态资源文件

5.servlet运行的生命周期图.

装载Servlet

Servlet类 Servlet初始化(调用init方法)

实例对象被回收 提供服务(调用Service方法)

销毁Servlet实例(调用destroy方法)

6.jspsmartupload实现上传下载的步骤.(简述,并用代码实现)

首先创建Html文件

<html>

<body bgcolor="white">

<h1>jspsmartupload : Sample 1</h1>

<hr>

<form action="jsp/sample1.jsp" method="post" enctype="multipart/form-data">

<input type="file" name="file1" size="50"><br>

<input type="file" name="file2" size="50"><br>

<input type="file" name="file3" size="50"><br>

<input type="file" name="file4" size="50"><br>

<input type="submit" value="Upload">

</form>

</body>

</html>

在创建JSP页面

<%@ page language="java" import="com.jspsmart.upload.*"

pageEncoding="ISO-8859-1"%>

<jsp:useBean id="mySmartUpload" scope="page"

class="com.jspsmart.upload.SmartUpload"></jsp:useBean>

<html>

<body bgcolor="white">

<

<h1>

jspSmartUpload : Sample 1

</h1>

<hr>

<%

int count = 0;

mySmartUpload.initialize(pageContext);

mySmartUpload.setTotalMaxFileSize(1000000);

mySmartUpload.upload();

try {

count = mySmartUpload.save("/upload");

out.println(count + "file(s) upload.");

} catch (Exception e) {

out.println(e.toString());

}

%>

</body>

</html>

7.用jfreechart组件实现报表的步骤(简述,并用代码实现)

步骤:1 建立代表图表数据的Dataset对象

2 建立用于绘制图表JfreeChart类

3 将图表输出到指定目标

<%@ page language="java" contentType="text/html;charset=gb2312"%>

<%@ page import="org.jfree.chart.ChartFactory"%>

<%@ page import="org.jfree.chart.JFreeChart" %>

<%@ page import="org.jfree.chart.servlet.ServletUtilities" %>

<%@ page import="org.jfree.chart.plot.PlotOrientation" %>

<%@ page import="org.jfree.data.category.DefaultCategoryDataset" %>

<%@ page import="org.jfree.chart.ChartUtilities,org.jfree.chart.plot.CategoryPlot" %>

<%@ page import="java.awt.*" %>

<%

DefaultCategoryDataset dataset=new DefaultCategoryDataset();

dataset.addValue(300,"北京","苹果");

dataset.addValue(200,"北京","西瓜");

dataset.addValue(500,"北京","葡萄");

dataset.addValue(340,"北京","芒果");

dataset.addValue(280,"北京","香蕉");

JFreeChart chart=ChartFactory.createBarChart3D("水果销售量统计图",//图表标题

"水果",//X轴的显示标题

"销量",//Y轴的显示标题

dataset,//数据集

PlotOrientation.VERTICAL,//图表方向:水平、垂直

false,//是否包含图例

false,//是否包含提示

false//是否包含URL

);

//设置背景颜色

chart.setBackgroundPaint(new Color(200,200,200));

CategoryPlot cp=chart.getCategoryPlot();

cp.setBackgroundPaint(new Color(100,100,100));

cp.setDomainGridlinePaint(Color.black);

cp.setDomainGridlinesVisible(true);

cp.setRangeGridlinePaint(Color.red);

String fileName=ServletUtilities.saveChartAsJPEG(chart,800,600,null,null);

String url=request.getContextPath()+"/DisplayChart?filename="+fileName;

%>

<html>

<head>

<title>JFreeChart Example</title>

</head>

<body>

<p align="center">

<img src="<%=url %>" border=1>

</p>

</body>

</html>

8.在程序里怎样注册servlet.

<servlet>

<servlet-name>displayChart</servlet-name>

<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>displayChart</servlet-name>

<url-pattern>/displayChart</url-pattern>

</servlet-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: