JSP课后习题答案
单元3 课本60页课后练习
填空题
1、tomcat服务器的默认端口是:8080
2、静态网页的内容是相对固定的,而动态网页的内容是随着访问时间的访问者发生变化。(填:动态网页或静态网页)
3、在tomcat成功安装和启动后,可以在浏览器中输入http://localhost:8080来测试安装配置是否正常。
4、在WEB-INF下必须有一个XML文件是web.xml
选择题
1、B
2、D
3、A
4、D
单元4 课本87页课后练习
填空题
1、脚本程序是一段在客户端请求时需要先被服务器执行的java 代码,它可以产生输出,同时也是一段流控制语句。
2、在jsp的3种指令中,用来定义与页面相关的指令是Page指令;用于在jsp页面中包含另一个文件的指令是Include指令(静态包含);用来定义一个标签库以及其自定义标签前缀的指令是Taglib指令。
3、
4、Page指令的MIME类型的默认值为text/html,默认字符集是iso-8859-1 。
5、Jsp的隐藏注释格式为<%-- --%>或者<%--comment--%> Jsp的输出注释的格式是。
选择题
1、A
2、A
3、D
4、C
5、B
6、D
简答题(答案在课本79页)
请查阅资料并结合课堂上所讲内容,阐述include静态包含和动态包含
答:动态include指令是在执行时才将对包含的文件进行处理,要进行编译,可以带参数;静态的include的指令是简单的将两个文件进行合并,使其成为一个新的文件。
单元5 课本130页课后练习
填空题
1、在jsp内置对象中,用于请求相关的对象是Request对象。该对象可以使用getParameter(String s)方法来获取表单元素提交的信息。
2、Response对象中用来动态改变contentType 实型的方法是setContentType()
3、Session对象封装了属于客户会话的所有信息,该对象可以使用setAttribute()方法来设置指定名字的属性。
4、在JSP中可使用Response对象的addCookie()方法将封装的Cookie对象发送到客户端。
选择题
1、B
2、C
3、C
4、C
5、A
6、D
简答题
1、比较Cookie对象和session对象的异同。
答案: 课本123页。
怎么应用request、session和application进行参数的存取,并比较3种方法的差异。
(1) request.setAttribute( ); request.getAttribute(String name);用来请求信息。
(2) session.setAttribute( ); session.getAttribute(String name);存储会话信息,不同用户所创建的session对象不同,session的生命周期:①客户端关闭浏览器②服务器调用invalidate()方法③session 过期
(3) application.setAttribute(String name,Object obj ); application.getAttribute(String name);全局作用范围,所有用户共享,生命周期为:应用程序启动到停止。
单元6 课本182页课后练习
填空题
1、在JSP中,当执行查询操作时,一般将查询结果保存在ResultSet对象中。
2、当执行的SQL语句是预编译的,或者需要执行多条语句的,需要借助一个PreparedStatement对象来实现。
3、DriverManager类是JDBC的管理层,作用于用户和驱动之间。在JSP中要建立与数据库的连接必须调用该类的getConnection()方法。
4、创建一个Statement接口的实例需要调用类Connection中的createStatement()方法。Statement接口的executeUpdate()方法一般用于执行SQL的INSERT、UPDATE或者DELETE语句;executeQuery()方法一般用于执行SQL的SELECT语句。
选择题
1、D
2、B
3、A
4、A
5、A
6、B
7、A
8、B
单元7 课本208页课后练习
填空题
1、在JSP中可以使用
2、
3、JavaBean有4个scope,分别为page、request、session和application。
选择题
1、A
2、A
3、C
4、C
5、C
6、B
单元8 课本243页课后练习
填空题
1、编译Servlet之前,将Servlet所需要的Servlet-api.jar包添加到classpath中。
2、编写Servet时用到的类javax.servlet.HttpServlet为
javax.servlet.GenericServlet的子类。
3、Servlet接口的init()方法在服务器装入Servlet时执行,在Servlet 的生命周期中仅仅执行一次。当客户请求一个HttpServlet对象时,该对象的service()方法就要被调用。
4、编写Servlet过滤器时,通过重载javax.servlet.Filter接口中的doFilter方法完成实际的过滤操作。
选择题
1、A
2、C
3、C
4、D
5、D
6、B
单元9 课本273页课后练习
填空题
1、在使用jspSmartUpload组件完成文件的上传和下载工作时需要使用SmartUpload类。要完成具体的文件上传数据,需要使用该类的upload()方法;要实现文件下载功能,需要使用该类的downloadFile()方法。
2、JavaMail提供了一些与电子邮件发送相关的API,要根据指定的用户名和密码连接到指定的邮件服务器,需要使用Transport 类中的connect方法。
要点记忆:
1、练习使用动作标签
include.jsp
<%double i=Math.random(); %>
2、include指令和
前者是指令元素、后者是行为元素。jsp:include动作和include 指令之间的根本性的不同在于它们被调用的时间。jsp:include动作在请求期间被激活,而include指令在页面转换期间被激活。
include指令是指把其它页面的JA V A代码(源码)加进来,跟本页面的代码合并在一起,相当于把源码从那个页面复制到本页面中来,然后再编译。所以变量可以共用。并用由于本页面编译时已经包含了别的文件的源码,所以以后其它页面更改时,本页面并不理会,因为已经编译过了。
3、Application对象、Session对象和Cookie对象的区别Application对象和Session对象的区别:
Application对象是多会话、多页面的,Session对象是单会话、多页面的Session对象中存储的值在整个用户会话过程中都可以访问到该值
Application对象中存储的值在整个服务器运行过程中都可以访问到该值Session对象和Cookie对象的区别:
Session对象是存储在服务器上的,为了标识每个用户,服务器用sessionID来区分每个不同的用户(sessionID是保存在客户端的cookies中)
Cookie对象是存储在客户端的,为了标识该用户曾经访问过某个服务器
Application用于保存所有用户共用的数据信息,如果被保存的数据在应用程序生存期内根本不会改变或很少改变,用它。但是在https://www.wendangku.net/doc/2914664029.html,中有个web.config,可能更好点。如果要使用application,一个需要考虑的问题是任何写操作都有要在application_onstart事件中(Global.asax)中完成。尽管使用application.lock和application.unlock方法来避免操作的同步,但是它串行化了对application的请求,当网站访问量大时会造成性能瓶颈。因此最好不要用它存取大的数据集。
使用方法:
//存放信息
Application["test"] = "100";
//读取
String test = Application["test"].ToString();
Session 用于保存每个用户的专用信息,它的生存期是用户持续请求时间再加上一段时间(可以在web.config中设置,默认是20分钟)。Session中的信息保存在服务器的内存中,当然你也可以设置它的保存方法(如存在SQL数据库中)。由于用户停止使用程序后它仍然在内存中保持一段时间,因此使用Session对象保存用户数据的方法效率很低。对于小量的数据。使用Session还是一个不错的选择。
//存
Session["user"] = "majcms";
//取
String username = Session["user"].ToString();
Cookie用于保存客户浏览器请求服务器页面的请求信息,程序员也可以用它保存非敏感性的内容。保存时间可以根据需要设置。如果没有设置Cookie失效时间,它仅保存至浏览器关闭。如果将Cookie设置为Min Value,则表示它永不过期。Cookie存储量受到很大限制,一般浏览器支持最大容量为4096字节。因此不能用来存储大量数据。由于并非所有浏览器都支持Cookie,并且它是以明文方式保存的,所以最好不要保存敏感性的内容。否则会影响网络安全。
//存
Response.Cookies["name"].Value = "majcms";
//取
String username = Response.Cookies["name"].Value;
1.B 编写一个Filter,需要() A. 继承Filter 类 B. 实现Filter 接口 C. 继承HttpFilter 类 D. 实现HttpFilter接口 2.D 自定义标签的配置文件放在________ A. WebRoot B. lib C. classes D. WEB-INF 3. ABC 有关会话跟踪技术描述正确的是( )(多选) A. Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端。 B. 关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期。 C. 在禁用Cookie时可以使用URL重写技术跟踪会话。 D. 隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示。 4.C 在J2EE中,重定向到另一个页面,以下()语句是正确的 A. request . sendRedirect(“http :// www . svse . com . cn”); B. request . sendRedirect(); C. response . sendRedirect(“http: // www . svse . com . cn”); D. response .sendRedirect(); 5.B EL表达式,${10 mod 3},执行结果为( ) A. 10 mod 3 B. 1 C. 3 D. null 6. C 自定义标签的作用是( ) A. 编写和使用方便 B. 规定是这样的,如果不用,别人会说我们不专业 C. 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发 D. 连数据库 7.B request.getRequestDispatcher().forward(request,response)称之为( ) A. 流转 B. 转发 C. 重定向 D. 导航 8. BCD 有关Servlet的生命周期说法正确的有( ) (多选) A. Servlet的生命周期由Servlet实例控制。 B. init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext 接口的对象。 C. service()方法响应客户端发出的请求。 D. destroy()方法释放Servlet实例。 9.B 在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是()。(选择一项) Public class Servlet1 extends HttpServlet{ public void init() throws ServletException{ } public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("hello!"); } A. 编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过 B. 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!
第一章 一.选择题 1.早期的动态网站开发技术主要使用的是()技术。该技术的基本原理是将浏览器提交至Web服务器的数据通过环境变量传递给其他外部程序,经外部程序处理后,再把处理结果传送给Web服务器,最后由Web服务器把处理结果返回浏览器。 A.JSP B.ASP C.PHP D.CGI 2.JSP页面的代码由两个部分组成,它们是()和()。 A.javascript代码 B.vbscript代码 C.HTML代码 D.JSP代码 3.JSP在服务器中进行编译时,将首先被转译成() A.JA V A语言 B.HTML代码 C.servlet D.以上都是 4.在一个JSP页面代码中一定没有的部分是() A.javascript代码 B.JSP指令 C.JSP动作 D.HTML代码 二.问答题 1.简述JSP的基本运行原理。 2.列举出JSP具有的一些特点。
参考答案 一.选择题 1. D 2. C D 3. C 4. A 二.问答题 1.答:首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器负责将JSP转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器。 2.答:1. 一次编写,随处运行 2. 可重用组件技术 3. 标记化页面开发 4. 对大型复杂Web应用支持良好 第二章习题 三.选择题 1.下列不是JSP开发工具的是() A.JBuilder B.IBM WebSphere C.MyEclipse D.Firework 2.要建构JSP的开发环境,除了需要安装以上的JSP开发工具外,还必须安装()和() A.JDK B.Dreamweaver MX C.Flash MX D.Tomcat 3.JSP隶属Java家族,下列不属于JA V A家族的是() A.servlet B.javabean C.java D.javascript 4.web应用程序体系结构最多可分为三层,不属于这三层的是() A.表示层 B.业务层 C.数据访问层 D.网络链接层
第1章WEB开发环境 (1)下列关于WEB开发说法正确的是。 A)Web是图形化的和易于导航的B)Web与平台无关 C)Web是分布式的D)Web 是动态的E)Web 是静态的 (2)下列关于Tomcat说法正确的是。 A)Tomcat是一种编程语言B)Tomcat是一种开发工具C)Tomcat是一种编程思想 D)Tomcat是一种开编程规范E)Tomcat是一个免费的开源的Serlvet容器 (3)下列关于Tomcat个目录说法错误的是。 A)bin目录--包含启动/关闭脚本B)conf目录——包含不同的配置文件 C)Lib目录--包含Tomcat使用的JAR文件 D)webapps目录--包含web项目示例,发布web应用时,默认情况下web文件夹放于此目录下E)work目录--包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下 (4)下列关于HTTP协议说法正确的是。 A)HTTP是一种请求/响应式的协议 B)HTTP请求消息中Accept表示浏览器可接受的MIME类型 C)HTTP请求消息中Accept-Encoding表示浏览器能够进行解码的数据编码方式 D)HTTP请求消息中Accept-Language表示浏览器所希望的语言种类 E)HTTP请求消息中Host表示初始URL中的主机和端口。 (5)下列对于JSP说法中正确的是。 A)JSP是Sun公司推出的新一代站点开发语言B)JSP采用标识简化页面开发 C)JSP完全解决了目前ASP、PHP的一个通病——脚本级执行 D)JSP将内容的生成和显示进行分离E)JSP强调可重用的组件 第2章JSP编译指令 (1)下列关于JSP编译指令说法错误的是。 A)编译指令用于从JSP发送一个信息到容器上 B)编译指令用来设置全局变量、声明类要实现的方法和输出内容的类型等 C)编译指令向客户端产生任何输出D)编译指令所有的指令都在整个JSP页面内有效 E)编译指令元素为编译阶段提供了全局信息 (2)下面关于page指令说法中错误的是。 A)page指令用来定义JSP页面中的全局属性B)一个JSP页面只能包含一个page指令 C)除了import外,其他page指令定义的属性/值只能出现一次。 D)language属性用来指示所使用的语言E)“java”是当前唯一可用的JSP语言 (3)下面关于page指令的属性说法错误的是。 A)import属性用于指定导入哪些包 B)contenttype属性用来指定JSP页面的字符编码和响应的mime类型
习题1 JSP 简介 1. 安装Tomcat5.5所在的计算机需要事先安装JDK吗? 答:需要。 2. 运行startup.bat启动Tomcat服务器的好处是什么? 答:能够确保Tomcat服务器使用的是JA V A_HOME环境变量设置的JDK. 3. Boy.jsp和boy.jsp是否是相同的JSP文件名字 不是 4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单的JSP页面保存到该目录中,让用户使用权虚拟目录fish来访问该JSP页面? 答:设置方法: ①建立D:\ water目录; ②修改server.xml文件,在上一行添加:
5. 假设Dalian是一个Web服务目录,其虚拟目录为moon, A.jsp保存在Dalian的子目录sea中。那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jsp C. http://127.0.0.1:8080/moon/A.jsp D. http://127.0.0.1:8080/moon/sea/A.jsp 答:D 6. 如果想修改的端口号,应当哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号. 若Tomcat服务器上没有其他占有80端口号的程序,可以将其修改为8080,否则不能。 习题2 JSP页面 1."<%!"和"%>"之间声明的变量与"<%"和"%>"声明的变量有何不同? 答: "<%!"和"%>"声明的变量为类的成员变量,其所占的内存直到
一、判断题 HTML称为超文本元素语言,它是Hypertext Marked Language的缩写。(对) 一个HTML文档必须有
和