JSP课后简答题
JSP课后简答题答案

1、怎样应用request、session、application进行参数存取?比较3钟方法的优点与不足。
答:request范围变量保存在request隐式对象中,如:request.setattribute("namerequest","name in request"); session范围变量保存在session隐式对象中,如:session.setattribute("namesession","name in session"); application范围变量保存在application 隐式对象中,如:application.setattribute("nameapplication","name in application"); 读取:namerequest:<%=request.getattribute("namerequest").tostring() %><br/>namesession:<%=sessio n.getattribute("namesession").tostring() %><br/>nameapplication:<%=application.getattribute("nameap plication").tostring() %> application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。
生命周期:会话超时,或者服务器端强制使会话失效。
request:请求作用域,就是客户端的一次请求。
JSP课后习题答案

JSP课后习题答案单元3 课本60页课后练习填空题1、tomcat服务器的默认端口是:80802、静态网页的内容是相对固定的,而动态网页的内容是随着访问时间的访问者发生变化。
(填:动态网页或静态网页)3、在tomcat成功安装和启动后,可以在浏览器中输入http://localhost:8080来测试安装配置是否正常。
4、在WEB-INF下必须有一个XML文件是web.xml选择题1、B2、D3、A4、D单元4 课本87页课后练习填空题1、脚本程序是一段在客户端请求时需要先被服务器执行的java 代码,它可以产生输出,同时也是一段流控制语句。
2、在jsp的3种指令中,用来定义与页面相关的指令是Page指令;用于在jsp页面中包含另一个文件的指令是Include指令(静态包含);用来定义一个标签库以及其自定义标签前缀的指令是Taglib指令。
3、<jsp:include>动作元素允许在页面被请求时包含一些其他资源,如一个静态的HTML文件和动态的JSP文件。
4、Page指令的MIME类型的默认值为text/html,默认字符集是iso-8859-1 。
5、Jsp的隐藏注释格式为<%-- --%>或者<%--comment--%> Jsp的输出注释的格式是<!-- -->。
选择题1、A2、A3、D4、C5、B6、D简答题(答案在课本79页)请查阅资料并结合课堂上所讲内容,阐述include静态包含和动态包含<jsp:include>指令的区别。
答:动态include指令是在执行时才将对包含的文件进行处理,要进行编译,可以带参数;静态的include的指令是简单的将两个文件进行合并,使其成为一个新的文件。
单元5 课本130页课后练习填空题1、在jsp内置对象中,用于请求相关的对象是Request对象。
该对象可以使用getParameter(String s)方法来获取表单元素提交的信息。
JSP课后习题答案

一、选择题(每小题2分)1.浏览器对下列那些程序可以执行解释(C)A. Jsp程序 B Java Bean C Java Script D Servlet2.下列代码<form action=”login.jsp”>Username:<input type=”text” name=”username” id=”myname” value=”user”><input type=”submit” value=”submit”></form>执行提交后,服务器正确取得文本框值是(D )A 无法取得,因为代码在html中B request.getAttribute(“username”)C request.getParameter(“myname”)D request.getParameter(“username”)3.开发一个JSP项目最合理的做法是(C )A 直接编写代码B 分析、设计、编码C分析、设计、寻求成功可用案例、最后编码D前面都不正确,具体问题要具体分析4.不同客户端要共享信息,需要使用(A )A Application对象B Sesion对象C Request对象D 响应对象5.关于Session对象,下列那个是正确的(B)A 关闭服务器,在启动Session依然存在B Session是内存对象C Session创建在服务器,保存在客户端D 在购物车应用中不能使用session二、分析写出下列程序功能,并对画线部分进行说明(20分)Chap1.htm<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body bgcolor="#FFCCCC"><form method="post" action="1.jsp"> //指定表单提交后由服务器1.jsp执行<p>数1:<input name="base" type="text" size="15"><br>数2:<input name="seq" type="text" size="15"></p><input type="submit" value="计算" ><input type="reset" value="清除" > //定义一个复位按钮</form></body></html>1.jsp<html><head><title>计算结果</title></head><body bgcolor="#FFCCCC"><%String base=request.getParameter( "base" );String seq=request.getParameter( "seq" ); //得到数2的值int base_i=Integer.parseInt(base);int seq_i=Integer.parseInt(seq);int result=1;for(int i=1;i<=seq_i;i++)result=result*base_i; //计算Base的seq次方%><hr><font color="#663333" size="4" face="隶书">计算结果为:</font><font color="#663333" size="4" ><%=result%></font><p><a href="javascript: history.back();">返回</a></p> //返回到上一个页面</body></html>/////////////////////////////////////功能:Base的seq次方三、完善程序,填空。
jsp简答题

1、简述JSP页面的运行原理(JSP页面的请求执行过程)。
(1)当客户第一次请求JSP页面时,JSP引擎会通过预处理把JSP文件中的静态数据(HTML文本)和动态数据(Java脚本)全部转换为Java代码。
(2)JSP引擎把生成的.java文件编译成Servlet类文件(.class)。
(3)编译后的class对象被加载到容器中,并根据用户的请求生成HTML格式的响应页面。
2、如果表单提交的信息中有汉字,接受该信息的页面应做怎样的处理?解决中文乱码在获取表单信息之前使用setCharacterEncoding(String code)设置统一字符编码request.setCharacterEncoding(“UTF-8”);对获取的信息进行重新编码new String(request.getParameter(“Name”).getBytes(“ISO-8859-1”),”UTF-8”);3、请简单叙述<%@include%>、<jsp:include>两者的区别。
<%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet。
<jsp:include>:所有代码分别处理,在页面被请求的时候才编译,被编译成多个servlet,页面语法相对独立,处理完成之后再将代码的处理结果组合起来。
PPT上答案为:Include指令标记是先将JSP页面与所要嵌入的页面合并成一个新的JSP页面,然后再由JSP引擎将新页面转化为java文件处理并运行。
Include动作标记在把JSP页面转译成java文件时,并不合并两个页面;而是在java文件的字节码文件被家在执行时,才去处理include动作标记引入的文件。
4、分析下面连接数据库的程序代码,将正确的表达式或语句填入空白import java.sql.*;public class DbUtil{public static void main(String args[]){Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db";Connectioncon = DriverManager.getConnection(uri,"sa","123");Statementst= con.createStatement();ResultSetrs = st.executeQuery("select * from member");}}请将上面的空填好,填完整这个程序后,这个程序有问题吗?应该怎样改正?5、假设创建servlet的类是tom.jiafei.Dalian,创建的servlet对象的名字是myservlet,应该怎样配置web.xml?<servlet><servlet-name>myservlet</servlet-name><servlet-class>tom.jiafei.Dalian</servlet-class></servlet><servlet-mapping><servlet-name>myservlet</servlet-name><url-pattern>/lookhello</url-pattern></servlet-mapping>6、JSP有哪些内置对象,作用分别是什么?(至少列举4种)out 页面输出request 得到用户的请求信息response 服务器向客户端的回应信息session 用来保存每一个用户的信息application 用来表示所有用户的共享信息pageContext JSP的页面容器config 服务器配置,可以取得初始化参数page 表示从该页面中表示出来的一个servlet实例exception 表示JSP页面所发生的异常,在错误页面才起作用7、简述JSP中MVC模式的具体实现。
JSP简答题

第1章(1)JSP的特点与优势答:1。
一次编写,到处运行2.系统的多平台支持3。
内容和显示分离4.生成可重用的组件5。
健壮的存储管理和安全性(2)使用JSP开发项目的常用方式答: 1.直接使用JSP2。
JSP+JavaBean3。
JSP+Servlet+JavaBean4.Java EE 开发模型5.框架整合应用一、在HTML中加入CSS的方法有哪几种?并简述其使用方法?答:1。
嵌入式样式表:只要在需要应用样式的HTML标签上添加CSS就可以了,这种方法主要用于对具体的标签做具体的样式设置,其作用范围只限于本标签。
2.内嵌式样式表:内嵌式样式表利用〈style></style>标签对样式表定义在HTML 文档的<head>〈/head〉标签对之间,内联式样式表的作用范围是本HTML文档;3.内联式样式表:内联式样式表是将定义好的CSS单独放到一个以.css为扩展名的纯文本文件名,再做用<link>标签连接到网页中。
二、在网页设计过程中,定义样式表的方法主要是那几种?并简述其定义格式.答:1.通过HTML标签定义样式表。
格式:引用样式对象{标签属性:属性值;标签属性:属性值;……}2.使用id样式定义表。
格式:#id名称{属性标签:属性值;属性标签:属性值;……}使用时只需要将要用该样式的网页内容前加一个id=”id名称”。
3. 使用class样式定义表.格式:(1)标签名.类名{标签属性:属性值;标签属性:属性值;……}(2) .类名{标签属性:属性值;标签属性:属性值;……}第5章(1)简述page指令、include指令和taglib指令的作用.答:page 指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在JSP页面和其包含的文件。
include指令用于在JSP编译时,为页面插入一个静态文件,如JSP页面、HTML 页面、文本文件或是一段Java程序。
JSP_简答题

1. 请回答:JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。
后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修s改。
新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。
从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。
当然也可以更复杂。
SERVLET用来写business layer 是很强大的,但是对于写presentation layer就很不方便。
JSP则主要是为了方便写presentation layer而设计的。
当然也可以写business layer。
写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。
就象前面那个朋友,把数据库处理信息放到JSP中,其实,它应该放在business layer中。
根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的东东,也就是说,只放输出HTML网页的部份。
而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在JAVA BEANS中。
通过JSP调用JAVA BEANS,实现两层的整合。
实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。
与JSP+BEANS完全类似,所有的presentation layer由ASP完成,所有的business layer由COM/DCOM完成。
通过调用,实现整合。
为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。
jsp简答题

1.JSP的特点及工作原理(执行过程)JSP运行原理解释:JSP 的执行过程主要包括以下步骤:1.客户端发出Request请求;2.JSP 容器将JSP 转译成Servlet 的源代码;3.将产生的Servlet 的源代码经过编译后,并加载到内存执行;4.把结果Response 响应至客户端。
5. JSP页面首次访问速度慢,之后访问速度快(直接将内存中首次加载的结果返回)2.JSP指令标签有哪些及作用指令标记是为JSP引擎而设计的,它向JSP引擎发送消息,告诉引擎如何处理其余JSP页面,它并不会直接产生任何看得见的输出。
指令的语法形式为:<%@ 指令%>指令主要包括:page 指令、include 指令和taglib指令。
(1<%@page %>指令用来设置整个JSP页面的相关属性和功能page指令可以在JSP页面的任何地方、以任何顺序出现,而且一个页面可以包含任意数量的page指令。
为了程序的可读性以及好的编程习惯,最好还是把它放在JSP页面的顶部。
(2 include指令的语法形式为:<%@ include file="relativeURL" %>该指令的作用是在JSP页面中该指令出现的位置静态插入一个文件。
所谓静态插入,是指当前的JSP页面和被嵌入的文件合并成一个新的JSP页面,然后JSP 引擎再将这个新页面转换成Servlet。
include指令能让页面内容分成几个组成部分分别管理。
实现多个文件共享同一个文件。
(3taglib指令:代码复用是衡量软件可维护性的重要标志之一。
一个web应用中可能有许多JSP页面需要使用某些相同的信息JSP页面可以通过自定义标记使用一种特殊的文件Tag文件(标记文件),将需要重复使用的代码编写成Tag文件就可以实现代码复用Tag文件的结构和JSP文件相同,只是文件扩展名为.tag3.在JSP文件中注释种类及区别(1)客户端注释使用HTML标签“<!--”和“-->”创建的语法形式:<!-- 注释--><!--这个注释可以在客户端源代码中看到-->客户端注释类似于普通的HTML注释,唯一的不同在于,可以在这种JSP注释中加入特定的JSP表达式(2)服务器端注释--隐藏注释也称为JSP注释,只能在原始JSP文件中看到。
jsp简答题

一、问答题(5选4)1请简单叙述include指令标记和include动作标记的不同?include指令标记:是把被包含的文件的内容放于包含文件中,组成一个文件后编译运行. include动作标记: 是把被包含的文件的运行结果放于包含文件运行产生的结果中,这2个文件各自编译运行.2Session对象与application对象的区别?1. 应用范围不同。
Session是对应某一个用户的。
而Application是整站共用的。
2. 存活时间不同。
Session是在站点的页面从打开到被关闭之前一直生存的,关闭或跳转到其它网站就会使Session死掉。
而Application是从站点发布以来一直存活的,除非重启了站点服务,IIS。
Session的中文是"会话"的意思,ASP中Session代表了服务器与客户端之间的"会话" 。
利用Session可以存储浏览者的一些特定信息,如:浏览者的姓名、性别、所用浏览器的类型以及访问停留时间等。
Session对个人信息的安全性构成了一定的威胁。
Application对象是一个应用程序级的对象,它包含的数据可以在整个Web站点中被所有用户使用,并且可以在网站运行期间持久地保存数据。
3连接池的思想?Tomcat服务器可以事先预备好若干个连接对象将这些连接对象存放在一个称为连接池的容器中,当某用户需要操作数据库时,只要从连接池中取出一个连接对象即可,当用户使用完该连接对象后,将该连接对象放回到连接池中。
如果某用户需要数据库时,连接池中已没有连接对象可用,那么该用户就必须等待,直到连接池中有了连接对象。
4重定向与转发功能?重定向功能:是将用户从当前页面或servlet定向到另一个JSP页面或servlet;转发的功能:是将用户对当前JSP页面或servlet对象的请求转发给另一个JSP页面或servlet 对象。
5Usebean标签中scope取值的不同情况?二、程序分析1定时刷新2解决中文乱码3分析代码功能或作用4SQL语句(2个查询、一个插入、一个修改)三、编程(原题第六题)。
J2EE简答题

2、JSP的常用指令3、说出Servlet的生命周期,并说出Servlet和CGI的区别。
4、什么情况下调用doGet()和doPost()?5、forward 和redirect的区别6、JSP中动态INCLUDE与静态INCLUDE的区别?7、页面间对象传递的方法8、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?9、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串(GET 请求)?10、JSP有哪些动作?作用分别是什么?11、在JSP中下面的两种跳转方式有什么区别?(1)out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
(2)request表示HttpServletRequest对象。
它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
(3)response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)(4)session表示一个请求的javax.servlet.http.HttpSession对象。
Session可以存贮用户的状态信息(5)applicaton 表示一个javax.servle.ServletContext对象。
这有助于查找有关servlet引擎和servlet环境的信息(6)page表示从该页面产生的一个servlet实例(7)pageContext表示一个javax.servlet.jsp.PageContext对象。
它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
(8)config表示一个javax.servlet.ServletConfig对象。
Jsp简答题

}
public void init(servletconfig conf)throws servletexception{
super.init(conf);//init方法带servletconfig参数时必须有此句代码
//此处写一些初始化操作。如连接数据库等。
}
2 service():响应客户端发出的请求。Service()方法接受ServletRequest接口和ServletResponse接口的对象来处理请求和发送响应。经常的用法是:不用service()方法,用dopost,doget方法来处理请求。其他的方法还有dotrace(),dooptions().dohead()方法,因trace,options.head信息已经在dopost,doget方法中包括,不必使用,doput(),dodelete()方法在web app不经常使用
ServletContext sc = getServletContext();
RequestDispatcher rd = null;
rd = sc.getRequestDispatcher("/index.jsp");
JSP简答

第一章1.什么是URL,什么是URI,它们都由哪几部分组成?URL与URI有什么关系?答:URL称为统一资源定位符,URL通常由4部分组成:协议名称,主机的DNS名,可选的端口号和资源的名称。
URI成为统一资源标识符,是以特定语法标识一个资源的字符串。
URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:schema:schema-specific-partURI是URL和URN的超集。
2.动态Web技术文档有哪些?服务器端动态文档技术和客户端动态文档技术有何不同?答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术。
服务器扩展技术和HTML页面中嵌入脚本技术。
其中HTML页面中嵌入脚本技术包括ASP,PHP和JSP技术。
最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。
使用JavaScript可以设计交互式页面。
与服务器端动态文档不同,JavaScript脚本是在客户端执行的。
3.什么是Servlet?什么是Servlet容器?它的主要作用是什么?Servlet是用ServletAPI开发的Java程序,它运行在Servlet容器中,Servlet容器是运行Servlet的软件,主要用来扩展Web服务器的功能。
4.什么是MVC设计模式,它有什么优点?MVC设计模式称为模型-视图-控制器,在这种模式中,将Web组件分为模型,视图和控制器,每种组件完成各自的任务。
该模式的最大优点是将业务逻辑和数据访问从表示层分离出来,第二章1.HTTP请求结构由哪几部分组成?请求行由哪几部分组成?答;HTTP请求结构由请求行,请求头,空行和请求数据组成。
请求行由方法名,请求资源的URI和使用的HTTP版本三部分组成。
2.HTTP响应结构由哪几部分组成?状态行由哪几部分组成?答:HTTP响应结构由状态行,响应头和响应数据三部分组成。
状态行由HTTP 版本,状态行和简短描述三部分组成。
jsp简答

一、简答题1.在JSP中专门提供了3个页面指令来与JavaBean交互,它们分别是哪3个指令,并简述它们的功能。
答:它们分别是jsp:useBean指令、jsp:setProperty指令和jsp:getProperty指令。
jsp:useBean指令指定JSP页面中包括的JavaBean。
jsp:setProperty指令功能是设置JavaBean的属性。
jsp:getProperty指令功能是得到某个JavaBean的属性值。
2.加载CSS样式的方式有哪些?如何使用?答:使用CSS来格式化网页,共有三种方式:在HEAD中引用、在BODY中引用和作为文件来引用。
只要在HEAD标记中加上STYLE标记就可以了,然后在其中定义各种标记的显示样式。
在BODY中实现主要是在标记中引用,只要将定义在STYLE标记中的值拿到对应的标记中就可以了。
可以将HEAD中定义的样式另存成一个文件。
CSS作为一个外部文件引入的方式有两种,一种是做链接,另一种是导入。
首先将STYLE标记中的内容存成一个文件。
3.请说出JSP和Servlet的关系,说出它们的异同,并分析它们在web服务程序中分工。
答:a.Servlet是JSP的早期版本,JSP是以另外一种方式实现的Servletb.JSP更注重页面的表现,Servlet更注重业务逻辑的实现c.JSP只能处理浏览器的请求,而Servlet可以处理一般客户端的应用程序请求4.对于下面URL: :8080/news/index.html ,请指出协议,主机,端口号,文件名答:协议 http,主机,端口号8080,文件名news/index.html5.ASP与JSP之间有哪些共同点?JSP的优点是什么?答:ASP和JSP都是HTML文档传递动态内容的CGI程序。
因为它们都运行在服务器上,都访问服务器上的资源。
另一个相似点是语法。
它们用来嵌入VBScript 与 Java的标签很相似。
JSP复习题简答

1-1 JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么?答:全称Java Server Page优点:继承了Java 技术的简单、便利、面向对象,跨平台和安全可靠等优点,在JSP中利用了。
JavaBean和JSP元素,可以有效的将静态的HTML代码和动态数据区分开来,给程序的修改和扩展带来了很大方便;与其他动态网页技术相同点,通过在页面中加入脚本代码来生成动态内容。
1-2 JSP中可重复使用的组件有哪些?JavaBean/JSP标准标签/自定义标签1-3 什么是JSP的预编译特征?答:JSP页面在被服务器执行前,都是已经被编译好的,并且通常只进行一次编译,即在JSP页面被第一次请求时进行编译,在后续的请求中如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码,这大大提高了访问速度。
1-4 开发JSP程序需要具备哪些开发环境?答:Web浏览器/Web服务器/JDK/数据库1-7 本章介绍的用来开发JSP程序的开发工具是什么?答:Eclipse+MyEclipse2-1 什么是类?如何定义类?类的成员一般由哪两部分组成?这两部分的区别是什么?答:类是用来创建对象的模板,它包含被创建的对象的状态描述和方法的定义。
定义类的格式:[修饰符] class <类名> [extends 父类名] [implements 接口列表]{定义成员变量定义成员方法}类的成员由成员变量和成员方法组成,成员变量用来表示类的状态和属性,成员方法表示类的行为。
2-2 什么是成员变量和局部变量?他们的区别是什么答:成员变量是在类体中变量定义部分所声明的变量;局部变量是在方法体重声明的变量和方法的参数两者的区别在于有效范围不同,成员变量在整个类内都有效,而局部变量只在定义他的成员方法内才有效。
2-3 如何创建、使用并销毁对象?答:创建对象的方法:类名对象名; 对象名= new 构造方法名([参数列表]);或者:类名对象名= new 构造方法名([参数列表]);使用对象的方法:可以通过对象来引用其成员变量,并改变成员变量的值,而且还可以通过对象来调用其成员方法。
jsp课后习题答案

利用数据库来存储这些资源会导致数据库的处理效率降低,但相对安全。利用磁盘来存储图片资源安全性相对来说比较低,但不会影响到处理的效率。
6-8 在创建文件上传页面的form表单时应该注意哪几点?
第7章
Jsp提供了一个 标签库 使JSP开发更容易,业便于维护。
JSP与Servlet开发模式的优点各是什么:jsp负责录入数据和回显数据,servlet负责业务逻辑处理,对数据库的操作有bean来完成!(包括数据的增,删,改)
第五章
5-1 JSP中有几种指令?2
5-2 JSP中有几种动作指令?6
5-3 JavaBean是(一种JAVA语言写成的可重用组件),作用为(提供了随时随地进行复制和粘贴的功能)。
9-5 MVC的作用是什么?
MVC强制性地把输入、处理和输出分开,实现了功能模块与显示模块的分离,即将应用程序分为3个核心模块:模型、视图和控制器,分别担当不同的任务,提高了应用的可维护性、可扩展性、可移植性和组件的可复用性。
第4章
4-1 Servlet中四个常用的方法为:doGet(),doPost(),init(),destroy()
4-2 Servlet中跳转请求都要在 (web.xml)中描述
Servlet显示用户信息的两种方法:out.print()和<%= %>
Servlet实现页面跳转的两种方法:response.sendRedirect()进行重定位,request.getRequestDispatcher().forward();
减少了Jsp页面中的脚本,降低了维护成本。
提供了可重用的功能组件。
自定义JSP标签的核心是: 标签处理
JSP十六简答题.doc

1、请简单叙述include指令标记和include动作标记的不同。
答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。
因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。
(3分)include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java 解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。
如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。
(3分)2、JSP有几个内置对象?作用分别是什么?答:有9个内置对象request,请求对象(1分)response,响应对象,网页传回用户端的回应(1分)session,会话对象,与请求有关的会话期(1分)application,应用程序对象,正在执行的内容(1分)out,输出对象,用来传送回应的输出(1分)page,页面对象,网页本身(1分)config,页面配置对象,构架部件(1分)exception,异常对象,针对错误网页,未捕捉的例外(1分)pageContext,页面上下文对象,网页的属性是在这里管理(1分)3、简单描述解决中文汉字编码问题的两种常用方法?答:方法1:将获取的字符串用IS0-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象。
(3分)方法2: request. setCharacterEncoding( "GBK" ) ; (3 分)4^〈jsp: forward〉与response. sendRedirect ()实现页面转向有什么区别?答:(1)〈jsp:forward〉在本网站内跳转response. sendRedirect ()跳转到任何一个地址的页面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章Web技术简介1.简述JSP的工作原理。
答:所有的JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要是由JSP引擎来完成。
当第一次运行一个JSP页面时,JSP引擎要完成以下操作:将JSP文件翻译成Servlet文件,Servlet文件是Java应用程序。
JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件(.class文件)。
JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。
服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。
由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。
当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。
2.简述JSP的两种体系结构。
答:JSP规范中分别称作JSP Model 1 和JSP Model 2,它们的本质区别在于处理批量请求的位置不同。
Model1,在Model1体系中,JSP页面独自响应请求并将处理结果返回客户。
这里仍然存在显示与内容的分离,因为所有的数据存取都是由JavaBean来完成的。
尽管Model1体系十分适合简单应用的需要,它却不能满足复杂的大型Web应用程序需要。
不加选择地随意运用Model 1,会导致JSP页内被嵌入大量的脚本片段或Java代码。
尽管这对于Java程序员来说可能不是什么大问题,但如果JSP页面是由网页设计人员开发并维护的这就确实是个问题了。
从根本上讲,将导致角色定义不清和职责分配不明,给项目管理带来不必要的麻烦。
Model2体系结构,是一种把JSP与Servlet联合使用来实现动态内容服务的方法。
它吸取了两种技术各自的优点,用JSP生成表示层的内容,让Servlet完成深层次的处理任务。
Servlet充当控制者的角色,负责管理对请求的处理,创建JSP页面需要使用的Bean和对象,同时根据用户的动作决定把哪个JSP页面传给请求者。
在JSP页面内没有处理逻辑,它仅负责检索原先由Servlet创建的对象或JavaBean,从Servlet中提取动态内容插入静态模板。
分离了显示和内容,明确了角色的定义以及实现了开发者与网页设计者的分开。
项目越复杂,使用Model 2体系结构的优势就越突出。
3.简述JSP开发Web站点的主要方式。
答:JSP开发Web站点主要有以下几种方式。
(1)直接使用JSP(2)JSP+JavaBean(3)JSP+JavaBean+Servlet(4)J2EE/JavaEE开发模型(5)SSH开发框架第3章 HTML与CSS简介1.简述什么是HTML,有什么基本标签。
答:HTML(Hypertext Markup Language)即超文本标记语言或超文本链接语言,是一种用来制作超文本文档的简单标记语言,它不是一种真正的编程语言,只是一种标记符。
通过一些约定的标签符号对文件的内容进行标注,指出内容的输出格式。
当用户浏览WWW信息时,浏览器会自动解释这些标签的含义,并按照一定的格式在屏幕上显示这些被标记的信息。
基本标签有<html>、<head>、<title>、<body>等。
2.简述什么是CSS。
答:CSS(级联样式表)是一种设计网页样式的工具,借助CSS的强大功能,网页将在你丰富的想象力下千变万化。
CSS是W3C为弥补HTML在显示属性设定上的不足而制定的一套扩展样式标准,其重新定义了HTML中文字显示样式,并增加了一些新的概念,如类、层等,可以实现对文字重叠、定位等。
CSS还允许将样式定义单独存储在样式文件中,将显示的内容和显示的样式定义分离,使我们在保持HTML简单明了的初衷的同时能够对页面的布局施加更多的控制,避免代码的冗余,使网页体积更小,下载更快。
另外,也可以将多个网页链接到同一个样式文件,从而为整个网站提供一个统一、通用的外观,同时也使多个具有相同样式表的网页可以简单快速的同时更新。
3.简述CSS中定义样式表的几种方式。
答:(1)通过HTML标签定义样式表(2)使用id定义样式表(3)使用class定义样式表4.简述HTML中加入CSS中的几种方式。
答:(1)嵌入式样式表(2)内联式样式表(3)外联式样式表第4章JSP基础知识1.简述JSP程序中三种注释的异同。
答:隐藏注释也是JSP的标准注释,写在JSP程序中,在发布网页时完全被忽略,不发给客户,当希望隐藏JSP程序的注释时是很有用的,其格式为:<%-- comment --%>。
HTML注释,在发布网页时可以在浏览器源文件窗口中看到HTML注释,其格式为:<!-- comment [ <%= expression %> ] -->。
在JSP程序中,也遵循Java语言本身的注释规则对代码进行注释,这样的注释和隐藏注释相似,在发布网页时完全忽略,在浏览器的源文件窗口中也看不到注释内容,其格式为:<%/*comment*/%>。
2.简述page指令、include指令和taglib指令的作用。
答:page 指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在JSP页面和其包含的文件。
include指令用于在JSP编译时,为页面插入一个静态文件,如JSP页面、HTML页面、文本文件或是一段Java程序。
taglib指令用来指定页面中使用的标签库以及其自定义标签的前缀。
常用基本动作有哪些简述其作用。
答:其中常用的动作有6种:<jsp:param>、<jsp:include>、<jsp:useBean>、<jsp:setProperty> 、<jsp:getProperty>、<jsp:forward>、<jsp:plugin> 。
<jsp:param>动作可以用于<jsp:include>、< jsp:forward>和<jsp:plugin>动作体中,为其它动作提供附加信息;<jsp:include>动作用来把指定文件插入正在生成的页面中;<jsp:useBean>动作用来装载在JSP页面中使用的JavaBean。
这个功能非常有用,能够实现JavaBean组件的重用;<jsp: setProperty>动作用来设置、修改已实例化Bean中的属性值;<jsp:getProperty>动作获取指定Bean属性的值,转换成字符串,然后输出;<jsp:forward>动作用于转发客户端请求到另一个页面或者是另一个Servlet文件。
4.简述include指令和<jsp:include>动作的异同。
答:include指令和include动作都能实现将外部文档包含到JSP文档中的功能,名称相似,但也有区别。
(1)include指令include指令可以在JSP页面转换成Servlet之前,将JSP代码插入其中。
(2)include动作<jsp:include>动作是在主页面被请求时,将其它页面的输出包含进来。
(3)两者的区别和比较<jsp:include>动作和include指令之间的根本不同在于它们被调用的时间。
<jsp:include>动作在请求期间被激活,而include指令在页面转换期间被激活。
两者之间的差异决定着它们在使用上的区别。
使用include指令的页面要比使用<jsp:include>动作的页面难于维护。
<jsp:include>动作相对于include指令在维护上有着明显优势,而include指令仍然能够得以存在,自然在其它方面有特殊的优势。
这个优势就是include指令的功能更强大,执行速度也稍快。
include指令允许所包含的文件中含有影响主页面的JSP代码,如响应内容的设置和属性方法的定义。
第5章 JSP的常用内置对象1.简述out对象、request对象和response对象的作用。
答:out对象主要用来向客户输出各种数据类型的内容,并管理应用服务器上的输出缓冲区(buffer); request内置对象代表了客户端的请求信息,主要用于接收客户端通过HTTP 协议传送给服务器端的数据;response对象包含了响应客户请求的有关信息,封装了JSP 产生的响应,然后被发送到客户端以响应客户的请求。
2.简述 session对象、pageContext对象、exception对象和application对象的作用。
答:session对象用来保存每个用户的信息,以便跟踪每个用户的操作状态;pageContext对象提供了对JSP页面内使用到的所有对象及名字空间的访问,提供了对几种页面属性的访问,并且允许向其它应用组件转发request对象,或者从其它应用组件包含request对象; exception对象用来处理JSP文件在执行时发生的错误和异常;application 对象保存Web应用程序中公有的数据,可存放全局变量。
服务器启动后自动创建application 对象,该对象将一直有效,直到服务器关闭。
第6章 JSP中数据库基本操作1简述JDBC的作用。
答:JDBC是一个面向对象的应用程序接口(API),通过它可访问各类关系数据库。
JDBC 也是Java核心类库的一部分,由一些Java语言编写的类和界面组成。
JDBC为数据库应用开发人员、Java Web开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
主要实现:(1)同一个数据库建立连接;(2)向数据库发送SQL语句;(3)处理数据库返回的结果。
2.简述JDBC驱动和JDBC-ODBC桥的区别和联系。
答:JDBC-ODBC桥是一个JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现JDBC操作。
桥为所有对ODBC可用的数据库实现JDBC。
由于ODBC被广泛地使用,该桥的优点是让JDBC能够访问几乎所有的数据库。
建议尽可能使用纯Java JDBC驱动程序代替桥和ODBC驱动程序,这可以完全省去了ODBC所需的客户机配置,也免除了Java虚拟机被桥引入的本地代码中的错误所破坏的可能性。
第8章 JSP与JavaBean1.简述JavaBean的种类。
答:JavaBean是遵循特殊规范的Java类。