jsp小总结:(part3)
*jsp 中的 out 输出和 response.getWriter 输出的区别:
out.write() 输出字符串没有问题(其他数据会出问题)
out.print() 输出任意数据都没有问题(都转换成为字符串后调用的 write 输出)
结论:在 jsp 页面中,可以统一使用 out.print()来进行输出
*jsp 静态包含(常用):
<%@ include file=""%> 就是静态包含标签
file 属性指定你要包含的 jsp 页面的路径
地址中第一个斜杠 / 表示为 http://ip:port/工程路径/ 映射到代码的 web 目录
静态包含的特点:
1、静态包含不会编译被包含的 jsp 页面。
2、静态包含其实是把被包含的 jsp 页面的代码拷贝到包含的位置执行输出
*jsp动态包含(不常用):
<jsp:include page=""></jsp:include> 这是动态包含标签
page 属性是指定你要包含的 jsp 页面的路径
动态包含也可以像静态包含一样。把被包含的内容执行输出到包含位置
动态包含的特点:
1、动态包含会把包含的 jsp 页面也翻译成为 java 代码
2、动态包含底层代码使用如下代码去调用被包含的 jsp 页面执行输出。
JspRuntimeLibrary.include(request, response, "/include/footer.jsp", out, false);
3、动态包含,还可以传递参数
注意:动态包含一般不使用,常用静态包含;因为jsp 页面虽然可以写 java 代码,做其他的功能操作;但是由于 jsp 在开发过程中被定位为专门用来展示页面的技术;也就是说,jsp 页面中,基本上只有 html,css,js,还有一些简单的EL表达式脚本等输出语句;所以我们都使用静态包含;
*jsp转发:
<jsp:forward page=""></jsp:forward> 是请求转发标签,它的功能就是请求转发
page 属性设置请求转发的路径
等效于:
request.getRequestDispatcher("/xxxx.jsp").forward(request, response); 的功能。