jsp考试题

一、填空(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值