jsp详解加静态动态引入

jsp

jsp概念

在这里插入图片描述
动态网页:数据会不会动态改变
因为jsp本质是servlet servlet是java 所以有java的特点
组件跨平台:jsp跨平台 -》组件跨平台
健壮性:可处理很复杂的业务逻辑,输入不符合规范,也能有合适的处理方式

jsp的三种注释

在这里插入图片描述
关于注释的解释
前两者要被转译,是因为你得在jspServlet中显示,否则你得java、前端注释没意义
前端注释:

<!--   -->  

java注释://
jsp注释:

<%--  --%>

在jsp中直接打印strr
注意:里面不能加分号<%=str %>相当于print.writer(str);

<% String str="我是用来测试的";%>
<%=str %>

关于指令:
在这里插入图片描述
pageEncoding:一般情况,只要写了pageEncoding为utf-8:表示不仅设置了本身的编码格式,还设置了浏览器解析的格式编码(版本太旧:还要设置contentType和charset)
在这里插入图片描述
在这里插入图片描述

jsp原理:

tomcat中有工具类可以将jsp转为jspServlet,我们写的虽然是前端代码,但是tomcat会将这些用out.writer();包装,让jsp变为java文件,继而编译成class

代码演示:

<body>
<!--  局部代码块  位于_jspservice()中 -->
<% String str="aaaaa";
	int a=2;
	if(a>3){ %>
	<h3>h3标签,如果我要在逻辑判断中显示给你看的话,很麻烦,写的注释要一堆  /%></h3>
	<% }else{ %>
	<h2>h2标签,如果我要在逻辑判断中显示给你看的话,很麻烦,写的注释要一堆  /%></h2>
	<% test();} %>


<!-- 全局代码块 -->
	<%! 
	int b=5;
	public void test(){
	if(b==5){
	%>
		<h2>我是全局方法,不信的话你去反编译我的jsp,看下JSPServlet</h2>
	<%! }}%>
</body>

静态引入和动态引入

在这里插入图片描述
案例分析:
主jsp:(注意:主jsp中声明有全局b变量
在这里插入图片描述
includeStatic:(注意:此处一定要为全局变量,不然写在_jspservice()方法中

<body>
	<p>我是静态引入</p>
	<%! int b=3;%>
</body>

includeActive:

<body>
	<p>我是动态引入</p>
	<% int b=0; %>
</body>

静态引入的jsp会报错,因为两个jsp合并成了一个主jspSerclet.java,导致一个java文件中声明了两个int b 编译不通过
动态引入的jsp正常运行,因为两个jsp分别转译为两个jspServlet.java,在主jsp中实现转发至动态jsp,两个java文件中同时定义了int b 当然没问题!

作用

如果很多地方要重复用到同一个模块/表格 可以将之放在动态/静态引入 利于管理修改,降低代码冗余(例如:所有servlet都要加入一张表格,实现动态引入即可,而不需要在每个servlet一一天添加)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值