web中的一些问题

今天进行了阶段性的考试,通过考试我发现我什么都不懂,简答题什么都不会,于是上网查了这几个问题:

jsp的内置对象有哪些?

config

page

pageContext

request

response

session

application

exception

out 

1.request对象 

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出

响应。它是HttpServletRequest类的实例。

2.response对象 

response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是

HttpServletResponse类的实例。

3.session对象 

session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个

WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实

例。

4.out对象 

out对象是JspWriter类的实例,是向客户端输出内容常用的对象 

5.page对象 

page对象就是指向当前JSP页面本身,有点象类中的this指针,它是

java.lang.Object类的实例 。

6.application对象 

application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启

动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不

同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性

的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application

对象的生命。它是ServletContext类的实例。 

7.exception对象 

exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对

象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译

。他实际上是java.lang.Throwable的对象。

8.pageContext对象 

pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以

访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相

当于页面中所有功能的集大成者,它的本类名也叫pageContext

9.config对象 

config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括

Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息

(通过传递一ServletContext对象) 。

 

请求重定向与请求转发的比较

1.RequestDispatcher.forward方法只能将请求转发给同一个Web应用中的组件,

HttpServletResponse.sendRedirect不仅可以重定向到当前应用程序的其他资源,

还可以重定向到痛一个站点上的其他应用程序的资源,甚至是使用绝对URL重定向到其

他站点的资源。对于sendRedirect如果传递的URL"/"开头,他是相对于整个Web

点的根目录;对于forward如果传递的URL"/"开头,它是相对于当前Web应用程序的

根目录。

2.sendRedirect对浏览器做出的响应是重新发出对另外一个URL的访问请求,

forward在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到

了响应结果

3.forward的调用者与被调用者之间共享相同的request对象和response对象,他们

属于同一个访问请求和响应过程;sendRedirect的调用者与被调用者使用各自的

requestresponse对象,属于两个独立的访问请求和响应过程。

JSP通过指令来执行一些预定义的功能,包括3种指令:

 page指令

 include指令

 taglib指令

1.page指令

 Page指令用于定义JSP文件中的全局属性。

 格式:

  <%@ page

  [language="java"]   //声明脚本语言的种类,目前只能用"java"

  [extends="package.class"]  //JSP编译时加入的Java Class的全名,但是得

慎重使用,它会限制JSP的编译能力

  [import="[package.class|package.*],..."] 

       //需要导入的Java包的列表,下面这些包已经导入,不需要再指明:

       //java.lang.*

       //javax.servlet.*

       //javax.servlet.jsp.*

       //javax.servlet.http.*

  [session="true|false"]   //设定客户是否需要HTTP Session,如果设为

falseSession对象就不能使用,

       //以及定义了scope=session<jsp:include>元素使用会导致错误。

  [buffer="none|8kb|sizekb"]  //buffer的大小被out对象用于处理执行后的

JSP对客户浏览器的输出,默认8KB

  [false"]  //设置如果buffer溢出,是否需要强制输出,如果为false,如果

buffer溢出时就

       //会导致一个意外错误。如果buffer设置为none,则不能把autoFlush设置

false

  [isThreadSafe="true|false"]  //设置JSP文件是否能够多线程使用,也就是

JSP能否同时处理多个用户的请求

       //如果设为false,一个JSP只能一次处理一个请求,默认为true

  [info="text"]    //一个文本在执行JSP将会被逐字加入JSP中,

       //能够使用Servlet.getServletInfo方法返回

  [errorPage="relativeURL"]  //设置处理异常事件的JSP文件

  

[contentType="mimeType"[;charset=characterSet]"|"text/html;charset=IS

O-8859-1"]

       //设置MIME类型,默认MIME类型为text/html,默认字符集为ISO-8859-1

  [isErrorPage="true|false"]  

 例子:

  <%@ page import="java.util.*,java.lang.*" %>

  <%@ page buffer="8kb" %>

  <%@ page errorPage="error.jsp" %>

 说明:

  <%@ page %>作用于整个JSP页面和静态的包含文件中,不能作用于动态的包含文件

,比如<jsp:include>包含进来的文件

  可以在一个页面中用多个<%@ page %>指令,但除import属性外,每个属性只能用

一次

  无论把<%@ page %>放在JSP文件的哪个位置,它的作用范围都是整个JSP页面,最

好放在JSP文件顶部

2.include指令

 使用include指令可以在JSP中包含一个静态的文件,同时解析这个文件中的JSP语句

 格式:

  <%@ include file="relativeURL" %>

  <%@ include file="相对位置" %>

 说明:

  file:这个包含文件的路径一般都是相对路径,不需要端口、协议或域名,

"error.jsp""/templates/onlinestore.html""/beans/calendar.jsp"

  包含文件中不能使用<html></html><body></body>标记,因为这将会影响

JSP文件中同样的标记,有时会导致错误。

3.taglib指令

 定义一个标签库及其自定义标签的前缀。

 格式:

  <%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>

 例子:

  <%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %>

 说明:

  uri:可以是一个相对或绝对路径

  prefix:在自定义标签之前的前缀,比如<public:loop>中的public,如果这里不

public,那么就是不合法的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值