BaseWeb04-JSP
来源:互联网 发布:仙人下凡无人知 生肖 编辑:程序博客网 时间:2024/05/19 10:56
1、重定向
1.1、使用response.sendRedirect("user.jsp");
直接重定向。
1.2、注意sendRedirect之后的代码也会执行, 执行完之后才会进行跳转。
1.3、注意浏览器的地址发生变化, 这是客户端跳转。
http://localhost:8080/test01/jsp/sendDirectToUser.jsp跳到http://localhost:8080/test01/jsp/user.jsp
传参数,
response.sendRedirect("user.jsp?username=zhangsan");
2、第二种跳转方式,通过jsp:forword
2.1、重定向浏览器地址没有发生变化(服务器端跳转,区别与第一种跳转的客户端跳转。), 中文乱码(建议服务器端跳转最好不使用中文。)
========三、绝对路径和相对路径。==========
3.1、相对路径:相对与当前页面的路径
<!-- 相对路径:相对与当前页面的路径 --><a href="../jsp/user.jsp">跳转到用户界面</a><br><img src="../img/01.png">
3.2、绝对路径, 使用”/”表示根目录, 注意这是项目的根目录
<!-- 绝对路径: / 表示根目录路径 --><a href="/jsp/user.jsp">访问用户界面</a>
3.2.1、跳转发现url少了上下文test01
3.2.2、添加上下文test01, 访问正确
<!-- 绝对路径: / 表示根目录路径 --><a href="/test01/jsp/user.jsp">访问用户界面</a>
3.2.3、使用绝对路径的弊端,就是上下文改变了, 导致所有的绝对路径都要改变,这是不现实的和费事。
3.2.4、我们可以使用request.getContextPath()替换test01
,这样上下文改变了,我们也不需要改变绝对路径。
<!-- 绝对路径: / 表示根目录路径 --><a href="<%=request.getContextPath() %>/jsp/user.jsp">访问用户界面</a>
3.3、最佳实践:使用绝对路径来访问地址。
======4、静态包含与动态包含==========
首先看个案例,
结论:两个页面共用一个导航栏,这儿有个弊端,就是导航栏有变化,相关页面都得改变。
所以我们需要将导航栏剥离出来。
4.1、第一种包含方式:动态包含, 使用@indclud file="待包含的文件"
注意:在使用包含的时候我们不用在添加上下文,它会自动添加。
4.1.1、如果要改变导航栏,只需要修改header.jsp,其他相关页面不用修改。
4.2、第二种包含方式: 静态包含, jsp:include
<!-- 注意此处不用再添加上下文,它会自动添加的。 --> <!-- 以下为静态包含 --><jsp:include page="/includes/header.jsp"></jsp:include>
4.3、通过编译文件来看动态与静态的区别
4.3.1、动态的包含:是将待导入的文件,不做任何编译引入文件,在被导入的页面中进行编译
4.3.2、静态包含: 待导入的文件先进行编译,然后导入。
通过
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/includes/header.jsp", out, false);
进行导入。
4.3.3、另外我在header.jsp中定义一个变量line, 在动态包含中可以看到该变量, 而在静态包含的编译文件中无法找到,
4.4、如果在被包含的文件中,定义一个相同的变量line, 就会报错Duplicate local variable line
。
而静态包含不受影响
最佳实践:使用静态包含。
可能用动态包含: 权限。
阅读全文
0 0
- BaseWeb04-JSP
- JSP
- JSP
- jsp
- JSP
- JSP
- jsp
- Jsp
- JSP
- jsp
- jsp
- jsp
- JSP
- JSP
- jsp
- jsp
- JSP
- jsp
- 杂花生树(四十九)
- 详解sys_open
- PTA二叉树求深度和叶子数
- javaweb前端表单请求路径要和后端web.xml文件配置一定要一致
- FFmpeg介绍
- BaseWeb04-JSP
- 数据链路层的功能
- CentOS SVN搭建 (YUM安装)
- [学习笔记]Python_os模块
- 机房收费系统前期配置重温
- Hibernate的SessionFactory和Session
- 各类正则表达式收集Java版
- 禁用/关闭笔记本摄像头功能(FOR 安全性)
- HTTPS优化之动态调整 TLS record size