javaWeb学习日记(7)----- jsp(指令 & 标签)

JSP 指令简介

  • JSP指令( directive )是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
  • JSP指令的基本语法格式:
    <%@指令属性名=“值” %>
    举例: <%@ page contentType-=text/html:;charset=gb2312"%>
    注意:属性名部分是大小写敏感的
  • 在目前的.SP 2.0中,定义了page. indude和taglib这 3三种指令,每种指令中又都定义了一些各自的属性。
  • 如果要在一个JSP页面中设置同-条指令的多个属性。可以使用多条指令语句单独设置每个属性,也可以使用同一条指令语句设置该指令的多个属性。
    第一种方式:
        <%@ page contentType=" text/html;charset=gb2312"%>
        <%@ page import=“iava.util.Date”%>
    第二种方式:
        <%@ page contentType=“text/html;charset=gb2312”



Page 指令

page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯, page指令最好是放在整个JSP页 面的起始位置。

page 指令常用得属性

  • import 属性
    import 属性:指定当前JSP页面对应的Servlet需要导入的类。
<%@page import="java.util.Date"%>
<body>
 <%= new Date() %>
</body>
  • session 属性
    session属性:取值为true或false,指定当前页面的session 隐藏变量是否可用,也可以说访问当前页面时是否一定要生成HttpSession对象
  <%@ page session="false" %>
  //下面得 <% %> 中session 变量不可用
  • errorPage 和 isErrorPage属性

errorPage指定若当前页面出现错误的实际响应页面时什么。其中 / 表示的是当前WEB应用的根目录。


在响应error.jsp 时,JSP引擎使用的请求转发的方式.


isErrorPage 指定当前页面是否为错误处理页面,可以说明当前页面是否可以使用exception 隐藏变量。需要注意 isErrorPage=“true”,并使用exception的方法了,一般不建议能够直接访问该页面

<%@ page errorPage="/error.jsp" %>
//页面中发生错误时 会跳转到 error.jsp 页面 比如 
<%	
	int i = 10/0;
%>

error中代码:

<body>
 ERROE,SOORY SIR
</body>

结果:
在这里插入图片描述

可以使用exception 时

在这里插入图片描述



include指令

  • include指令用于通知JSP引擎在翻译当前JSP页面时将其他文件中的内容合并进当前JSP页面转换成的SerMet源文件中,这种在源文件级别进行引入的方式称之为静态引入,当前JSP页面与静态引入的页面紧密结合为一个Servlet。
  • 语法:
    <%@ include file=“relativeURL”%>
    其中的fle属性用于指定被引入文件的相对路径。
  • 细节:
    被引入的文件必须遵循JSP语法,其中的内容可以包含静态HTML、JSP脚本元素、JSP指合和JSP行为元素等普通JSP页面所具有的一切内容。
    在将JSP文件翻译成Servlet源文件时, JSP引擎将合并被引入的文件与当前JSP页面中的指令元素(设置pageEncoding属性的page指令除外) ,所以,除了import和pageEnoding属性之外,page指合的其他属性不能在这两个页面中有不同的设置值。

a.jsp 中代码

<body>
 <h1>AAA Page</h1>
  <%
  //定义 一个字符串
  String str = "abcd";
 %>
 <!-- 在a.jsp 中包含 b。jsp -->
 <%@ include file = "b.jsp" %>
</body>

b.jsp 中代码

<body>

 <h1>BBB Page</h1>
 <%= str %>
</body>

结果:
在这里插入图片描述
查看代码:
在这里插入图片描述
他只形成一个jsp 文件



JSP标签 概念

  • JSP还提供了-种称之为Action的元素,在JSP页面中使用
    JSP还提供了-种称之为Action的元素,在JSP页面中使用处理复杂业务逻辑的专用功能。
  • Action元素 采用XML元素的语法格式, 即每个Action元素在JSP页面中都以XML标签的形式出现。
  • JSP规范中定义了一些标准的Action元素,这些元素的标签名都以isp作为前缀,并且全部采用小写,例如,jsp:include.isp:forward等等。

jsp:forward & jsp:include 标签

jsp:include标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中, 这种在JSP页面执行时的引入方式称之为动态引入。

jsp:include
<body>
 <jsp:include page="/a.jsp"></jsp:include>
</body>

与 include 标签得根本区别就是它创建两个 jsp 文件
它还可以传递一些参数
在这里插入图片描述

jsp:forward
<body>
//<jsp:forward>标签 得请求转发方式
 <jsp:forward page="/a.jsp"></jsp:forward>
 //servlet 得请求转发方式
 <%
  request.getRequestDispatcher("/b.jsp").forward(request, response);
 %>
</body>




解决中文乱码问题

(1)在这里插入图片描述
(2)更改tomcate 配置文件(server.xml)和映射

server 文件中

在这里插入图片描述

eclipse 中server 服务 的映射关系

在这里插入图片描述
在这里插入图片描述
然后在取值之前设置编码方式即可(GET & POST 都支持,不做更改则只对 POST 有效)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值