分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

JSP动作标签

发布时间:2023-09-06 02:17责任编辑:熊小新关键词:暂无标签

  JSP的动作标签由服务器解释执行,动作标签的格式是固定的,

  • <jsp:forward>:这个动作标签的用处,与Servlet的请求转发是一样的
  • <jsp:include>:这个标签的用处与Servlet的请求包含一致的,
  • <jsp:param>:这个标签用来作为forward和include的子标签,用来给转发或者包含的标签传递参数 

  来看一个例子:

  a.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> ???<title>Title</title></head><body><h1>a.jsp</h1><jsp:forward page="b.jsp"> ???<jsp:param value="yu" name="username"/> ???<jsp:param value="123" name="password"/></jsp:forward></body></html>

  b.jsp

<h1>b.jsp</h1><% ???String username = request.getParameter("username"); ???String password = request.getParameter("password");%><%= username%><%= password%>

  

  我们请求a.jsp发现服务器给我们响应的内容包含两个两个jsp页面,在来查看生成的java文件,发现生成了两个java文件,可见这种包含,与JSP的include指令是有区别的,查看源码,发现a_jsp.javad的_jspService方法中多了这么一句代码:

org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "b.jsp", out, false);

  在a.jsp中的<jsp:include>动作标签被转换为了一种方法调用,并将b.jsp当作参数传递了进去,同时还有request和response两个参数,可见它们使用了同一个request和respnse,所以能能同时对客户端响应,注意只有使用<jsp:include>标签,a.jsp和b.jsp才可以都对客户端进行响应,<jsp:forward>标签,使用该标签的jsp页面只能设置响应头。如果使用的是<jsp:forward>标签,那么服务器给我们的响应只有b.jsp。

在context.xml中配置reloadable

  当我们修改文件之后,一般要重启服务器,在在context.xml中配置reloadable=true,之后可避免这个问题,这种方式适合在项目开发阶段使用

<Context reloadable="true"></Context>

  

JSP动作标签

原文地址:https://www.cnblogs.com/yusiming/p/9780418.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved