2020-11-07-JSP第二部分

本文介绍了JSP中的请求转发和异常处理机制。详细阐述了JSP动作元素的使用,包括转发请求的语法和与Servlet中转发的区别。同时讲解了JSP异常处理,如何将错误页面与源页面共享请求,并通过exception隐含对象获取异常信息。最后对比了静态包含与动态包含的差异,建议在实际应用中优先考虑动态包含以利于维护。
摘要由CSDN通过智能技术生成

华东师范大学-JavaEE技术与实践-毛宏燕

JSP第二部分

JSP转发请求

  • JSP动作元素是在请求处理阶段起作用。
  • JSP动作元素以jsp作为前缀,基于XML语法。
    <jsp:action_name attribute="value" />
  • <jsp:forward>动作用于将客户请求转发到其它的HTML文件、JSP文件或者Servlet文件。
  • <jsp:forward>语法为:<jsp:forward page= " 重新转发的文件url 地址" />
  • 等同于在Servlet中转发请求
private String target = "/hello.jsp " ;
RequestDispatcher dispatcher=request.getRequestDispatcher(target);
dispatcher.forward(request,response);
  • 如果JSP文件中包含<jsp:forward>标签,那么JSP文件中的所有输出数据都不会被发送到客户端,并且<jsp:forward>标签以下的代码不会被执行。
  • 转发目标组件与源组件共享同一个HttpServletRequest对象。
    在这里插入图片描述
  • <jsp:param>向目标传递请求参数

JSP异常处理

  • 如果在执行JSP的Java代码时发生异常,可以将HTTP请求转发给另一个专门处理异常的网页:<%@ page errorPage="errorpage.jsp" %>
  • 在处理异常的网页中,需要将该网页声明为异常处理网页:<%@ page isErrorPage="true" %>
  • 在处理异常的网页中可以直接访问exception隐含对象,获取详细的异常信息,例如:
<p>
	错误原因为:<% exception.printStackTrace(new PrintWriter(out));%>
</p>

JSP包含文件

静态包含<%@ include file="url.jsp" %>
动态包含<jsp:include page="url.jsp">
区别:

  • 静态包含<%@include >
    ①主JSP文件转换成servlet时,将被包含文件插入到主页面中。
    ②被包含的jsp文件如果发生改变,需要更改主页面,主页面不会自动查看被包含页面是否改变 。
    ③一个Servlet文件
  • 动态包含<jsp:include>
    ①被包含的jsp文件如果发生了改变,不需要更改主页面。
    ②两个Servlet文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应该使用哪种方式?

  • 尽量使用jsp:include:对被包含页面的更改不需要更新主页面,易于维护
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值