JSP是什么,其实就是一个servlet,只不过我们在servlet中写html语句的时候需要使用out.println()一句句地往外打印,而JSP正是帮我们解决了这个问题,它可以直接在html中内嵌java代码,它在运行的时候实际是先转为servlet,然后再编译执行,JSP不需要配置,直接当成html文件来访问就行。(注意:JSP只有在第一次运行的时候才会转换、编译,以后直接执行编译好的class文件)
JSP有如下几个常用的标签:
【1】<%=......%>将中间的值原封不动的输出,中间内容必须是字符串或者可以转为字符串
【2】<%!......%>声明成员变量 <%......%>声明局部变量
【3】<%......%>可以放入任何的java程序代码
【4】<!--......-->客户端能看见的注释 <%--......--%>客户端看不见的注释
【5】<%@......%>编译期间指令,常见的有page,include,taglib
【6】<%@include file="fileURL"%>把其他文件的内容包含进来,相当于把新文件的内容原封不动的放在这里进行编译(编译期间包含),不能向fileURL中传参数
【7】<jsp:include page="URL" >
可以使用子标签传递参数<jsp:param name="" value=""/>
</jsp:include>
用于动态包含JSP程序或html,除非被执行到,否则不会被编译
【8】<jsp:forward page="URL" >
可以使用子标签传递参数<jsp:param name="" value=""/>
</jsp:forward>
将一个jsp的内容传送到page所制定的JSP程序或者servlet中处理(实现页面跳转)
<jsp:forward>与response.sendredirect都是用来跳转页面的,他们的区别:
<jsp:forward>使用同一个request,在服务器端实现跳转,而response.sendredirect是不同的request,通过客户端实现跳转,如下图: (图见相册)