您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

BaseWeb04-JSP

宝哥大数据 发布时间:2017-11-19 09:56:01 ,浏览量:0

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、相对路径:相对与当前页面的路径

跳转到用户界面
3.2、绝对路径, 使用”/”表示根目录, 注意这是项目的根目录

访问用户界面
3.2.1、跳转发现url少了上下文test01

这里写图片描述

3.2.2、添加上下文test01, 访问正确

访问用户界面
3.2.3、使用绝对路径的弊端,就是上下文改变了, 导致所有的绝对路径都要改变,这是不现实的和费事。

这里写图片描述

3.2.4、我们可以使用request.getContextPath()替换test01,这样上下文改变了,我们也不需要改变绝对路径。

访问用户界面
3.3、最佳实践:使用绝对路径来访问地址。 ======4、静态包含与动态包含========== 首先看个案例,

这里写图片描述

结论:两个页面共用一个导航栏,这儿有个弊端,就是导航栏有变化,相关页面都得改变。 所以我们需要将导航栏剥离出来。

这里写图片描述

4.1、第一种包含方式:动态包含, 使用@indclud file="待包含的文件"

注意:在使用包含的时候我们不用在添加上下文,它会自动添加。 这里写图片描述

4.1.1、如果要改变导航栏,只需要修改header.jsp,其他相关页面不用修改。

这里写图片描述

4.2、第二种包含方式: 静态包含, 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

这里写图片描述

而静态包含不受影响

这里写图片描述

最佳实践:使用静态包含。

可能用动态包含: 权限。

关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0384s