jsp考试简答题Word文档格式.docx

上传人:b****5 文档编号:20382303 上传时间:2023-01-22 格式:DOCX 页数:19 大小:200.46KB
下载 相关 举报
jsp考试简答题Word文档格式.docx_第1页
第1页 / 共19页
jsp考试简答题Word文档格式.docx_第2页
第2页 / 共19页
jsp考试简答题Word文档格式.docx_第3页
第3页 / 共19页
jsp考试简答题Word文档格式.docx_第4页
第4页 / 共19页
jsp考试简答题Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

jsp考试简答题Word文档格式.docx

《jsp考试简答题Word文档格式.docx》由会员分享,可在线阅读,更多相关《jsp考试简答题Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

jsp考试简答题Word文档格式.docx

企业内部通过防火墙接入Internet,再整个网络采用TCP/IP协议。

C/S与B/S区别:

Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的.

1.硬件环境不同:

C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.

B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行

2.对安全要求不同

C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.

B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群.

3.对程序架构不同

C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.

B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统.SUN和IBM推的JavaBean构件技术等,使B/S更加成熟.

4.软件重用不同

C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.

B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子

5.系统维护不同

系统维护是软件生存周期中,开销大,-------重要

C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统

B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.

6.处理问题不同

C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关.应该都是相同的系统

B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小.

7.用户接口不同

C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高

B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大部分难度减低,减低开发成本.

8.信息流不同

C/S程序一般是典型的中央集权的机械式处理,交互性相对低

B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更象交易中心

Servlet是一种在服务器端运行的Java程序,从某种意义上说,它就是服务器端的Applet。

所以Servlet可以像Applet一样作为一种插件(Plugin)嵌入到WebServer中去,提供诸如HTTP、FTP等协议服务甚至用户自已定制的协议服务。

而JSP是继Servlet后Sun公司推出的新技术,它是以Servlet为基础开发的,Servlet与JSP区别:

(1)编程方式不同

JSP是为了解决Servlet中相对困难的编程技术而开发的技术,因此,JSP在程序的编写方面比Servlet要容易的多,Servlet严格遵循Java语言的编程标准,而JSP则遵循脚本语言的编制标准。

(2)Servlet必须在编译以后才能执行

JSP并不需要另外进行编译,JSPContainer会自动完成这一工作,而Servlet在每次修改代码之后都需要编译完才能执行。

(3)运行速度不同

由于JSPContainer将JSP程序编译成Servlet的时候需要一些时间,所以JSP的运行速度比Servlet要慢一些,不过,如果JSP文件能毫无变化的重复使用,它在第一次以后的调用中运行速度就会和Servlet一样了,这是因为JSPContainer接到请求以后会确认传递过来的JSP是否有改动,如果没有改动的话,将直接调用JSP编译过的Servlet类,并提供给客户端解释执行,如果JSP文件有所改变,JSPContainer将重新将它编译成Servlet,然后再提交给客户端

JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成擅长于流程控制和事务处理而通过Servlet来生成动态网页;

JSP由HTML代码和JSP标签构成,可以方便地编写动态网页因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.答案2:

JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。

JSP编译后是“类servlet”。

Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。

而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

JSP侧重于视图,Servlet主要用于控制逻辑。

Servlet是用Java编写的Server端程序,它与协议和平台无关。

Servlet运行于Java-enabled 

Web 

Server中。

Java 

Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务

 

Session状态是在客户登录的时候创建的,它保存了客户特定的信息,并以Session 

ID来标识。

当一个新客户访问应用程序时,先生成一个新的Session 

ID(或是Session 

Key),并为同一个客户接下来的请求创建联系。

你可以在Session 

State中存储任意类型的数据,作为你的应用,状态被同一个进程和AppDomain(App域)维护。

Session 

State的特点是为每一个特定的客户创建状态以维护客户的信息,这些状态信息存储在服务器端的默认的会话状态配置中

session的销毁有两种方式,一种是session过期时间已到,会自动销毁(注意这里不是马上就会销毁,具体销毁时间由Tomcat容器所决定)。

在我们项目中的web.xml中就可以配置:

<

session-config>

session-timeout>

30<

/session-timeout>

/session-config>

第二种销毁方式通过手工方式销毁,这种销毁方式会立刻释放服务器端session的资源,我们手动销毁可以通过session().invalidate();

实现。

对我有帮助

Servlet的生命周期包含了下面4个阶段。

(1)加载和实例化

Servlet容器负责加载和实例化Servlet。

当Servlet容器启动时,或者在容器检查到需要这个Servlet来响应一个请求时,创建Servlet实例。

当Servlet容器启动后,它必须要知道所需的Servlet类在什么位置,Servlet容器可以从本地文件系统、远程文件系统或者其他网络服务器中通过类加载器加载Servlet类,成功加载后,容器创建Servlet实例。

因为容器是通过Java的反射API来创建Servlet实例,调用的是Servlet的默认构造函数,也就是那个不带参数的构造函数,所以我们在编写Servlet类的时候,不应该提供带参数的构造函数。

——这也就是为什么Servlet类可以不写构造函数的原因。

(2)初始化

在Servlet实例化之后,容器必须调用Servlet的init()方法初始化这个对象。

初始化的目的是为了让Servlet对象在处理客户请求前完成一些初始化工作,如建立数据库连接,获取配置信息等。

对于每一个Servlet实例,init()方法只能被调用一次。

在初始化期间,Servlet实例可以使用容器为它准备的ServletConfit对象从web应用程序的配置信息(在web.xml中配置)中获取初始化的参数信息。

在初始化期间,如果发生错误,Servlet实例可以抛出异常来通知容器。

(3)请求处理

Servlet容器调用Servlet的service()方法对请求进行处理。

要注意的是,在service()方法调用之前,init()方法必须成功执行。

在service()方法中,servlet实例通过ServletRequest对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用servletResponse对象的方法设置响应信息。

(4服务终止

当容器检测在一个Servlet实例应该从服务中被移除的时候,容器就会调用实例的destroy()方法,以便让该实例可以释放它所使用的资源,保存数据到持久存储设备中。

当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法。

在调用destroy()方法后,容器会释放这个Servlet实例,该实例随后会被java的垃圾收集器回收。

在整个Servlet的生命周期过程中,创建Servlet实例、调用实例的init()和destroy()方法都只进行一次,当初始化完成后,Servlet容器会将该实例保存在内存中,通过调用它的service()方法,为接收到的请求服务。

九个隐含对象(内置对象)

ConfigrequestresponseapplicationpagepageContextoutexceptionsession

page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法。

二、config对象config对象里存

二、config对象

config对象里存放着一些Servlet初始的数据结构。

config对象实现于javax.servlet.ServletConfig接口,它共有下列四种方法:

publicStringgetInitParameter(name)

publicjava.util.EnumerationgetInitParameterNames()

publicServletContextgetServletContext()

publicSringgetServletName()

三、request对象

request对象包含所有请求的信息,如:

请求的来源、标头、cookies和请求相关的参数值等等。

request对象实现javax.servlet.http.HttpServletRequest接口的,所提供的方法可以将它分为四大类:

1.储存和取得属性方法;

voidsetAttribute(Stringname,Objectvalue)设定name属性的值为value

EnumerationgetAttributeNamesInScope(intscope)取得所有scope范围的属性

ObjectgetAttribute(Stringname)取得name属性的值

voidremoveAttribute(Stringname)移除name属性的值

2.取得请求参数的方法

StringgetParameter(Stringname)取得name的参数值Enumeration

getParameterNames()取得所有的参数名称String[]

getParameterValues(Stringname)取得所有name的参数值

MapgetParameterMap()取得一个要求参数的Map

3.能够取得请求HTTP标头的方法

StringgetHeader(Stringname)取得name的标头

EnumerationgetHeaderNames()取得所有的标头名称

EnumerationgetHeaders(Stringname)取得所有name的标头

intgetIntHeader(Stringname)取得整数类型name的标头

longgetDateHeader(Stringname)取得日期类型name的标头

Cookie[]getCookies()取得与请求有关的cookies

4.其他的方法

StringgetContextPath()取得Context路径(即站台名称)

StringgetMethod()取得HTTP的方法(GET、POST)

StringgetProtocol()取得使用的协议HTTP/1.1、HTTP/1.0)

StringgetQueryString()取得请求的参数字符串,不过,HTTP的方法必须为GET

StringgetRequestedSessionId()取得用户端的SessionID

StringgetRequestURI()取得请求的URL,但是不包括请求的参数字符串

StringgetRemoteAddr()取得用户的IP地址

StringgetRemoteHost()取得用户的主机名称

intgetRemotePort()取得用户的主机端口

StringgetRemoteUser()取得用户的名称

voidetCharacterEncoding(Stringencoding)设定编码格式,用来解决窗体传递中文的问题

四、response对象

response对象主要将JSP处理数据后的结果传回到客户端。

response对象是实现javax.servlet.http.HttpServletResponse接口。

response对象所提供的方法。

1.设定表头的方法

voidaddCookie(Cookiecookie)新增cookie

voidaddDateHeader(Stringname,longdate)新增long类型的值到name标头

voidaddHeader(Stringname,Stringvalue)新增String类型的值到name标头

voidaddIntHeader(Stringname,intvalue)新增int类型的值到name标头

voidsetDateHeader(Stringname,longdate)指定long类型的值到name标头

voidsetHeader(Stringname,Stringvalue)指定String类型的值到name标头

voidsetIntHeader(Stringname,intvalue)指定int类型的值到name标头

2.设定响应状态码的方法

voidsendError(intsc)传送状态码(statuscode)

voidsendError(intsc,Stringmsg)传送状态码和错误信息

voidsetStatus(intsc)设定状态码

3.用来URL重写(rewriting)的方法

StringencodeRedirectURL(Stringurl)对使用sendRedirect()方法的URL予以编码

五、out对象

out对象能把结果输出到网页上。

out主要是用来控制管理输出的缓冲区(buffer)和输出流(outputstream)。

voidclear()清除输出缓冲区的内容

voidclearBuffer()清除输出缓冲区的内容

voidclose()关闭输出流,清除所有的内容

intgetBufferSize()取得目前缓冲区的大小(KB)

intgetRemaining()取得目前使用后还剩下的缓冲区大小(KB)

booleanisAutoFlush()回传true表示缓冲区满时会自动清除;

false表示不会自动清除并且产生异常处理

六、session对象

session对象表示目前个别用户的会话(session)状况。

session对象实现javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法

longgetCreationTime()取得session产生的时间,单位是毫秒

StringgetId()取得session的ID

longgetLastAccessedTime()取得用户最后通过这个session送出请求的时间

longgetMaxInactiveInterval()取得最大session不活动的时间,若超过这时间,session将会失效

voidinvalidate()取消session对象,并将对象存放的内容完全抛弃

booleanisNew()判断session是否为"

新"

voidsetMaxInactiveInterval(intinterval)设定最大session不活动的时间,若超过这时间,session将会失效

七、application对象

application对象最常被使用在存取环境的信息。

因为环境的信息通常都储存在ServletContext中,所以常利用application对象来存取ServletContext中的信息。

application对象实现javax.servlet.ServletContext接口,ServletContext接口容器所提供的方法

intgetMajorVersion()取得Container主要的ServletAPI版本

intgetMinorVersion()取得Container次要的ServletAPI版本

StringgetServerInfo()取得Container的名称和版本

StringgetMimeType(Stringfile)取得指定文件的MIME类型

ServletContextgetContext(Stringuripath)取得指定LocalURL的Applicationcontext

StringgetRealPath(Stringpath)取得本地端path的绝对路径

voidlog(Stringmessage)将信息写入log文件中

voidlog(Stringmessage,Throwablethrowable)将stacktrace所产生的异常信息写入log文件中

八、pageContext对象

pageContext对象能够存取其他隐含对象。

1.pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数。

ObjectgetAttribute(Stringname,intscope)

EnumerationgetAttributeNamesInScope(intscope)

voidremoveAttribute(Stringname,intscope)

voidsetAttribute(Stringname,Objectvalue,intscope)

范围参数有四个,分别代表四种范围:

PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE

2.PageContext对象取得其他隐含对象的方法

ExceptiongetException()回传目前网页的异常,不过此网页要为errorpage,

JspWritergetOut()回传目前网页的输出流,例如:

out

ObjectgetPage()回传目前网页的Servlet实体(instance),例如:

page

ServletRequestgetRequest()回传目前网页的请求,例如:

request

ServletResponsegetResponse()回传目前网页的响应,例如:

response

ServletConfiggetServletConfig()回传目前此网页的ServletConfig对象,例如:

config

ServletContextgetServletContext()回传目前此网页的执行环境(context),例如:

application

HttpSessiongetSession()回传和目前网页有联系的会话(session),例如:

session

3.PageContext对象提供取得属性的方法

ObjectgetAttribute(Stringname,intscope)回传name属性,范围为scope的属性对象,回传类型为Object

EnumerationgetAttributeNamesInScope(intsco

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1