Jsp、Servlet参考资料

2026/1/24 0:14:07

二、问答题

1.JSP的内置对象及方法

Request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 Response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

Session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 applicaton 表示一个javax.servlet.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 Page表示从该页面产生的一个servlet实例 2.JSP的常用指令 <%@ page

language =\主要指定JSP Container要用什么语言来编译JSP 网页。JSP 2.0 规范中指出,目前只可以使用Java语言,不过未来不排除增加其他语言,如C、C++、Perl 等等。默认值为Java

extends = \主要定义此JSP 网页产生的Servlet 是继承哪个父类 import = \主要定义此JSP 网页可以使用哪些Java API

session = \决定此JSP 网页是否可以使用session 对象。默认值为true

buffer = \决定输出流 (output stream)是否有缓冲区。默认值为8KB 的缓冲区 autoFlush = \决定输出流的缓冲区是否要自动清除,缓冲区满了会产生异常 (Exception)。默认值为 true

isThreadSafe = \主要是告诉JSP Container,此JSP 网页能处理超过一个以上的请求。默认值为 true,如果此值设为 false,SingleThreadModel 将会被使用。SingleThreadModel 在Servlet 2.4 中已经声明不赞成使用(deprecate)

info = \主要表示此JSP 网页的相关信息

errorPage = \表示如果发生异常错误时,网页会被重新指向那一个URL isErrorPage = \表示此JSP Page 是否为处理异常错误的网页 contentType = \表示MIME 类型和JSP 网页的编码方式

pageEncoding = \表示JSP 网页的编码方式

isELIgnored = \表示是否在此JSP 网页中执行或忽略EL 表达式。如果为true 时,JSP Container将忽略EL表达式;反之为false时,EL 表达式将会被执行 注意:只有import 这个属性可以重复设定,其他则否。 %>

<%@include file=\

<%@taglib prefix=\??\

3.Request对象的主要方法:

setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值

getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 getCharacterEncoding():返回请求中的字符编码方式 getContentLength():返回请求的Body的长度

getHeader(String name):获得HTTP协议定义的文件头信息

getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例 getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例 getInputStream():返回请求的输入流,用于获得请求中的数据 getMethod():获得客户端向服务器端传送数据的方法

getParameter(String name):获得客户端传送给服务器端的有name指定的参数值

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例 getParameterValues(String name):获得有name指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端的名字

getSession([Boolean create]):返回和请求相关Session getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号

removeAttribute(String name):删除请求中的一个属性

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

JSP共有以下6种基本动作

jsp:include:在页面被请求的时候引入一个文件。 Jsp:useBean:寻找或者实例化一个JavaBean。 Jsp:setProperty:设置JavaBean的属性。 Jsp:getProperty:输出某个JavaBean的属性。 Jsp:forward:把请求转到一个新的页面。

Jsp:plugin:使您能插入所需的特定的浏览器的OBJECT或EMBED元素来指定浏览器运行一个JAVA Applet所需的插件。根据浏览器类型为Java插件生成OBJECT或EMBED标记。

<jsp:plugin type=\[ name=\

[ archive=\

[ align=\[ height=\[ width=\[ hspace=\

[ vspace=\

[ jreversion=\[ nspluginurl=\[ iepluginurl=\> [ <jsp:params>

[ <jsp:param name=\

value=\<%= expression %>}\> ]+ </jsp:params> ]

[ <jsp:fallback> text message for user </jsp:fallback> ] </jsp:plugin> 举例:

<jsp:plugin type=applet code=\> <jsp:params>

<jsp:param name=\> </jsp:params> <jsp:fallback>

<p>Unable to load applet</p> </jsp:fallback> </jsp:plugin>

5. 过滤器 监听 servlet 三者的区别和实际中主要的应用场景 过滤器(Filter)

作为过滤器,在Servlet作为过滤器使用时,它可以对客户的请求进行过滤处理,当它处理完成后,它会交给下一个过滤器处理,就这样,客户的请求在过滤链里一个个处理,直到请求发送到目标。举个例子,某个网站里有提交\修改的注册信息\的网页,当用户填写完成修改信息并提交后,服务端在进行真正的处理时需要做两个处理:客户端的会话是否有效;对提交的数据进行统一的编码,比如GB2312。这两个处理可以在由两个过滤器组成的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标;如果过滤器处理不成功(比如客户端的会话无效),它将把视图派发到指定的错误页面。可以看出,过滤器就像一扇门,客户端要和服务端的某个目标交互,必须通过这扇门。

过滤器是用于过滤Servlet的请求和响应,过滤器是存在于请求和被请求资源之间的。

过滤器就像当于一个中间件,请求要经过过滤器,然后过滤器才去调用Servlet,Servlet的响应也会被过滤器截获并作相应的处理。

Filter是一个接口,要写一个自己的Filter就只能实现Filter接口。

Filter也有自己的生命周期,他的生命周期和Servlet比较相似,也是会先调用init()方法,然后再调用核心的处理过滤的方法doFilter(),这个方法中可定义过滤规则,然后是destory()方法销毁Filter对象。

dofilter(ServletRequest request,ServletResponse response,FilterChain chain)

这个是过滤的核心方法,FilterChain的方法doFilter(ServletRequest request, ServletResponse response)也就是过滤后的请求调用资源的方法,如果不写这个方法,也就不会去调用相应的资源。

Filter的配置

Filter的配置和Servlet相似。

SessionFilter

alan.filter.SessionFilter

SessionFilter /protected/*

request forward include

CharArrayWriter类,是一个将数据保存在字符数组中的输出流,我们可以使用它来构造一个PrintWriter对象,也就实现了向内存输出。CharArrayWriter类的toString()和toCharArray()方法就可以取得写入内存中的数据。

注意:CharArrayWriter类是一个不会真正输出的类,他的write()方法只会将内容写入字符数组,而且这个字符数组是会自动增长的。


Jsp、Servlet参考资料.doc 将本文的Word文档下载到电脑
搜索更多关于: Jsp、Servlet参考资料 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219