JSP里面的一些区别(初整理)
最近开始学习JSP了,所以就会将每天学习到的东西发到博客上,希望大家不吝指教。当然,现在才是开始,所以就只有一些比较浅的东西,我会渐渐地进步,然后将一些更好的东西奉献给大家。
一、静态包含和动态包含的区别
1、 属性:
include指令不支持JSP表达式,而<jsp:include>动作标识支持JSP表达式。
2、 处理方式:
使用include指令被包含的文件,它的内容会原封不动地插入到包含页中使用该指令的位置,然后JSP编译器再对这个合成的文件进行编译。所以在一个JSP页面中使用include指令来包含一个JSP页面,最终编译后的文件只有一个。
使用<jsp:include>动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。因为服务器执行的是两个文件,所以JSP编译器会分别对两个文件进行编译。
3、 包含方式:
include指令:若改变了被包含文件,则主文件的代码就发生了改变,因此服务器会重新编译主文件。include指令的这种包含过程称为静态包含。
<jsp:include>动作标识通常是来包含那些经常需要改动的文件。当<jsp:include>动作标识被执行时,使用该标识包含的目标文件才会被编译,否则被包含的文件不会被编译。所以这种包含过程称为动态包含。
4、 对被包含文件的约定
使用include指令指定包含文件时,对包含文件有约定,比如charset要相同。
二、请求转发和请求重定向的区别:
进行请求转发时,存储在request对象的信息会被保留并被带到目标页面中;而请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以存储在request对象中的信息都不存在了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署