-
2查看全部
-
1查看全部
-
呵呵查看全部
-
人查看全部
-
滚滚滚查看全部
-
的查看全部
-
1 定义 forward():表示在服务器端从一个Servlet中将请求转发到另一个资源(Servlet、Jsp或Html等),本意是让第一个组件对请求做些预处理(或者什么都不做),而让另一组件处理并返回响应。 include():表示在响应中包含另一个资源(Servlet、Jsp或Html等)的响应内容,最终被包含的页面产生的任何响应都将并入原来的response对象,然后一起输出到客户端。 2 关于状态码和响应头 forward():调用者和被调用者设置的状态码和响应头都不会被忽略。 include():被调用者(如被包含的Servlet)不能改变响应消息的状态码和响应头,即会忽略被调用者设置的状态码和响应头。 3 谁负责发回响应 forward():表示转发,则控制权也同时交给了另一个组件,所以最终由另一组件返回响应。 include():表示包含,则控制权还在自己身上,所以最终还是由自己返回响应。 4 请求转发后的代码是否执行? forward():转发后还会返回主页面继续执行,但不可以继续输出响应信息。 include():转发后还会返回主页面继续执行,仍然可以继续输出响应信息。 5 关于forward(),引用JavaEE文档中的说明: 必须在响应被提交到客户端(刷新响应正文输出到流中)前调用forward(即在调用forward之前必须清空响应缓冲区),否则会抛出IllegalStateException异常。 在forward之前,响应缓冲区中未提交的数据会被自动清除。所以容器将忽略原Servlet所有其他输出。 6 补充说明:关于Servlet中的输出缓冲区 在Servlet中使用ServletOutputStream和PrintWriter输出响应正文时,数据首先被写入到Servlet引擎提供的一个输出缓冲区中。直到满足以下条件之一时,Servlet引擎才会吧缓冲区中的内容真正发送到客户端。 输出缓冲区被填满。 Servlet已经写入了所有的响应内容。 Servlet调用响应对象的flushBuffer()方法,强制地将缓冲区内的响应正文数据发送到客户端。 Servlet调用ServletOutputStream或PrintWriter对象的flush()方法或close()方法。 为了确保Servle查看全部
-
web.xml中的version代表servlet版本查看全部
-
在context.xml中配置session的钝化和活化查看全部
-
钝化活化的session保存对象必须实现serializable接口查看全部
-
bindinglistener无需在web.xml中注册,直接继承接口之后,在javaBean被绑定到session中就会被触发查看全部
-
将不常使用的session序列化到文件或是数据库中以减轻内存开销查看全部
-
对于三种对象属性修改的监听器查看全部
-
session创建和销毁监听器执行的方法查看全部
-
web.xml的init-param可以设置context初始化参数查看全部
举报
0/150
提交
取消